2017-03-06 98 views
0

我有一個名爲genrelist的數組,其中包含電影的所有不同類型。我如何將它們寫入csv,以使genrelist中的每個元素都在一個單元格中,並且它們在Python 3.6中是一行而不是一列?如何將一個數組寫入一個csv,使數組中的每個元素都在一個單元格中,並且它們使用python排成一行?

with open('data.csv', 'a') as csvFile: 
    csvFileWriter = csv.writer(csvFile) 
    for genre in genrelist: 
     csvFileWriter.writerow([genre]) 
    csvFile.close() 

這將產生的輸出:

目前,我可以通過使用此代碼它們寫出來一列|少年

|

| action |

|冒險|

所需輸出:| shonen | |動作| |冒險|

+0

如果您希望列表爲一行,爲什麼要拆分它併爲每個項目創建新列表作爲單獨的行?只是*不這樣做*。 – jonrsharpe

+1

作家將寫行,你爲單行你需要'csvFileWriter.writerow(genreList)' – MarkHarley

+0

啊新手錯誤.. csvFileWriter.writerow(genreList)是正確的答案。 –

回答

0

for循環將單個流派寫入一行,就像您期望的那樣,但您每次都會啓動一個新行!這使得多行看起來像一列。您可以通過使用writerow函數打印整個genreList來生成您想要的輸出。像這樣:

with open('data.csv', 'a') as csvFile: 
csvFileWriter = csv.writer(csvFile) 
csvFileWriter.writerow(genreList) 
csvFile.close() 
0

模塊熊貓碰巧有一個非常好的read_csv()函數和df.to_csv函數。

你會做的是創建一個數據框,如下所示:

import pandas as pd 

df = pd.DataFrame(read_csv('data.csv')) 

改列到行,只需使用:

df.transpose() 

,然後你可以把它寫這樣的文件:

df.to_csv('transposeddata.csv') 

完整的文檔可以在這裏找到:

Pandas Documentation

相關問題