簡體   English   中英

Python:通過迭代Pandas Dataframe寫入CSV文件

[英]Python: Writing to CSV file from iterating through Pandas 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文件,因為我將執行許多其他功能,並且不想簡單地編輯數據幀本身。

您不應該逐行寫入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)

我希望能夠限制最終csv文件中的列以及其他參數。

編寫 CSV文件時不要進行這些調整。 在導出為CSV 之前,請在數據框中進行調整。 然后使用專門構建的pd.DataFrame.to_csv方法。

例如,您可以在導出之前按特定順序選擇特定列:

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

要“放入其他參數”,請通過適當的邏輯創建新列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM