Pandas 循环复制/粘贴并导出为 CSV
Posted
技术标签:
【中文标题】Pandas 循环复制/粘贴并导出为 CSV【英文标题】:Pandas For Loop Copy/Paste and Export to CSV 【发布时间】:2021-07-29 07:47:32 【问题描述】:我有一个包含以下数据的 CSV 文件:
Product | Date | Company | Revenue |
---|---|---|---|
A | 2/1/2021 | 1230 | 24314 |
A | 2/1/2021 | 1224 | 14222 |
B | 2/1/2021 | 1442 | 24141 |
B | 2/1/2021 | 1424 | 54352 |
B | 2/1/2021 | 4919 | 12213 |
C | 2/1/2021 | 2312 | 43536 |
C | 2/1/2021 | 2322 | 24241 |
D | 2/1/2021 | 1131 | 34532 |
E | 2/1/2021 | 1414 | 45645 |
E | 2/1/2021 | 7674 | 21321 |
我需要对每个产品的“产品”列进行过滤,并将过滤后的结果复制/粘贴到它自己单独的 CSV 中——有没有办法通过 for 循环来做到这一点?换句话说,我需要为每个过滤的产品创建一个 CSV。这是我目前对产品 A 所拥有的:
report_import = (r’path\product_report.csv")
report_df = pd.read_csv(report_import, sep='\t',encoding="utf16")
report_df = report_df[report_df[‘Product’] == 'A']
report_df.to_csv(r"path\ProductA.csv", index=False)
基本上我想冲洗并重复,但对于其他产品
【问题讨论】:
你是如何解决这个问题的? 【参考方案1】:你可以这样过滤
report_import = (r’path\product_report.csv")
report_df = pd.read_csv(report_import, sep='\t',encoding="utf16")
# Get all available products
products = set(report_df[‘Product’])
for product in products:
#Perform a filter for each product
temp_df = report_df[report_df[‘Product’] == product]
temp_df.to_csv(r"path\" + product + ".csv", index=False)
根据产品保存为 csv 文件。
【讨论】:
以上是关于Pandas 循环复制/粘贴并导出为 CSV的主要内容,如果未能解决你的问题,请参考以下文章
如何使用熊猫复制行(列)的元素并粘贴到csv中的第1行(另一列)?
如何将任何返回 SYS_REFCURSOR 的函数导出到 CSV 或 Excel,或者至少导出到我可以选择、复制和粘贴到某处的任何输出
如何将 CSV 导出复制到添加了新列的 Redshift 表中?