python - 使用python动态保存csv文件

标签 python pandas csv

我有 3 个数据集需要读取,然后对某些列进行一些计算并创建一个新列,最后我必须将新列保存在新的 csv 文件中。我不知道如何动态地执行此操作,因为在每次迭代中我需要使用不同的名称保存。例如下面的代码不起作用。

df.to_csv("./dataset/file'+i+'.csv',index=False) 

i 是循环中的迭代次数。

最佳答案

引用我的answer对于类似的问题,

这是一个使用pandas的解决方案。假设csv的内容如下:

Name, Age, Gender
John, 20, Male
Jack, 22, Male
Jill, 18, Female

我的代码如下:

import pandas as pd
df = pd.read_csv("mock_data.csv")

for index, row in df.iterrows():
    file_name = row['Name']+".csv"  #Change the column name accordingly
    pd.DataFrame(row).T.to_csv(file_name, index=None)

这将根据“Name”列的值(即 Jack、John 和 Jill)创建文件名,以生成三个文件 John.csvJack.csvJill.csvJohn.csv内容如下:

Name    | Age   |  Gender |
---------------------------
John    | 20    |  Male   |

Jack.csv内容如下:

Name    | Age   |  Gender |
---------------------------
Jack    | 22    |  Male   |

Jill.csv内容如下:

Name    | Age   |  Gender |
---------------------------
Jill    | 20    |  Female   |

P.S:如果您不需要 header ,只需在调用 .to_csv()< 时添加 header = None/ 功能。例如:

pd.DataFrame(row).T.to_csv(file_name, index=None, Header=None)

提示是在传递给 to_csv() 函数之前(或同时)使用 file_name 作为从任何列或输入生成的变量。

关于python - 使用python动态保存csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47044139/

相关文章:

python - 如果有两个以上唯一值,则过滤 df - pandas

python - 从html代码中提取数据

java - Python 中的多重继承;如何在 Java 中这样做?

python-3.x - 根据另一列的进度值创建数据框列?

python - 按 Pandas 列总和的值分组

java - 导出到 CSV 时使用什么编码?

postgresql - 使用 Rails、Postgres 和 Sidekiq 导入 CSV

python - 下载 JSON 数据并使用 Python 将其转换为 CSV

python - 如何解决 celery 文件中带有关键字参数命名空间 ='"CELERY 错误的 celery worker 配置

python - 如何解决pickle编码问题?