Python:通过遍历Pandas Dataframe写入CSV文件

时间:2018-10-12 18:50:45

标签: python pandas csv dataframe

我是Python的新手。在遍历DataFrame时如何写入CSV文件?

readCSV1 = pd.read_csv(r'ProductDetails1.csv')
df1 = DataFrame(readCSV1)

for index, row in df1.iterrows():
print(index, row['SKU'], row['SKU'],row['Title'],row['Cost'],row['Weight 
    Value'],row['Weight Unit']...............)

我正在遍历包含许多列的大型csv文件,但是我希望能够限制最终csv文件中的列以及其他参数。打印到控制台的输出是正确的,但是我很难弄清楚如何最好地将其打印到新的csv文件中,因为我将执行许多其他功能,并且不想简单地编辑数据框本身。

2 个答案:

答案 0 :(得分:2)

您不应逐行写入csv文件。这是非常低效的。相反,您应该清理/限制数据框为要写入的内容,然后一次调用pd.DataFrame.to_csv()

例如:

df = pd.read_csv(r'ProductDetails1.csv')

#Refine your dataframe here
refined_df = df[['SKU','Title','Close','Weight Value','Weight Unit']]

refined_df.to_csv(r'ProductDetails1.csv', index=False)

答案 1 :(得分:1)

  

我希望能够将最终csv文件中的列限制为   以及其他论点。

请勿在编写 CSV文件时进行这些调整。导出为CSV之前,请在数据框本身 中进行调整。然后使用特制的pd.DataFrame.to_csv方法。

例如,您可以在导出之前按特定顺序选择特定列:

df = df[['SKU', 'SKU', 'Title', 'Cost']]
df.to_csv('file.csv', index=False)

要“放入其他参数”,请通过适当的逻辑添加新列。