我有一個由字符串,整數和浮點數組成的列表以及嵌套的字符串,整數和浮點數列表。這裏是一個例子Python將任意嵌套列表保存爲CSV
data = [
1.0,
'One',
[1, 'Two'],
[1, 'Two', ['Three', 4.5]],
['One', 2, [3.4, ['Five', 6]]]
]
我希望列表中的每一項寫入CSV文件中的一行。因此,鑑於以上數據,該文件是這樣的:
1.0
One
1,Two
1,Two,Three,4.5
One,2,3.4,Five,6
有許多關於如何寫一個列表文件的資源,但我還沒有看到任何獨立這麼做的列表的嵌套。我敢肯定,我可以想出涉及很多循環的東西等等,但是沒有人有更優雅的解決方案嗎?
編輯:我想出的最好的東西是將列表中的每個項目轉換爲一個字符串,然後刪除多餘的字符(「[」,「」「等))。然後你附加的項目字符串,並將結果寫入文件:
string = ''
for i in data:
line = str(i).replace("[","")
line = line.replace("]","")
line = line.replace("'","")
line = line.replace(" ","")
string+=line + '\n'
# write string to file...
這只是感覺kludgey,它可能是有害的,因爲它假定字符串不包含括號,引號或空格。我正在尋找更好的解決方案!
請告訴我們你已經嘗試了什麼。如果你沒有,一旦你從一個方向開始,有人可以幫助你想出一個準確的解決方案。事實上,它不應該那麼辛苦 - 以寫入模式打開一個csv文件,並在循環中開始寫入文件。 – karthikr
比*更優雅的解決方案*?顯示你已經嘗試過... –
我認爲這是最簡單的[平坦每個項目](http://stackoverflow.com/questions/10823877/what-is-the-fastest-way-to-flatten-arbitrarily-nested -lists-in-python)然後保存到csv。 – zehnpaard