避免使用“ for”循环覆盖文件

时间:2019-09-05 10:55:57

标签: python-3.x pandas csv dataframe

我有一个由用户选择的多个csv文件创建的数据帧(df_cleaned)列表。

我的目标是将df_cleaned列表中的每个数据帧另存为本地单独的csv文件。

我完成了以下代码,将文件保存为原始标题。但是我看到它覆盖并设法保存了 only 最后一个数据帧的副本。

我该如何解决?根据我的基本知识,也许我可以在循环中使用break-continue语句?但是我不知道如何正确实现它。

queue

2 个答案:

答案 0 :(得分:0)

您可以为每个文件创建一个不同的名称,例如,以下示例将索引附加到name

for i in range(len(df_cleaned)):
    outputFile = df_cleaned[i].to_csv(r'C:\...\Data Docs\TrainData\{0}_{1}.csv'.format(name,i))
print('Saving of files as csv is complete.')

这将创建一个名为<name>_N.csv的文件列表,其中N = 0,...,len(df_cleaned)-1。

答案 1 :(得分:0)

一种非常简单的解决方法。我自己才想出答案。发布以帮助他人。

  

fileNames是我在代码开头创建的列表,用于保存   用户选择的文件的名称。

for i in range(len(df_cleaned)):
    outputFile = df_cleaned[i].to_csv(r'C:\...\TrainData\{}.csv'.format(fileNames[i]))
print('Saving of files as csv is complete.')

为定义目录中的每个文件保存单独的副本。