我是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文件中,因为我将执行许多其他功能,并且不想简单地编辑数据框本身。
答案 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)
要“放入其他参数”,请通过适当的逻辑添加新列。