我有一列數字,我想將它放在.csv文件的單個列中。下面的代碼在單行中寫入值。我如何更改代碼以便Python將每個值寫入單獨的行?謝謝。將Python列表寫入單個CSV列
with open('returns.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerow(daily_returns)
我有一列數字,我想將它放在.csv文件的單個列中。下面的代碼在單行中寫入值。我如何更改代碼以便Python將每個值寫入單獨的行?謝謝。將Python列表寫入單個CSV列
with open('returns.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerow(daily_returns)
只是爲了記錄:
我使用Python 3.2和我只能得到以下工作
with open('returns','w')as f:
writer=csv.writer(f,lineterminator='\n')
for val in returns:
writer.writerow([val])
In Python 3,您應該使用'newline ='''參數打開文件,如[文檔](http://docs.python.org/3.2/library/csv.html#csv.writer)中所述。 – DSM
替代的解決方案:假設daily_returns是列表名稱您希望作爲CSV文件中的列寫入,以下代碼應該可以工作:
with open('return.csv','w') as f:
writer = csv.writer(f);
writer.writerows(zip(daily_returns));
ISTM僅包含列的CSV文件不需要csv.writer。只需使用''f.writelines([ret +'\ n'for ret in daily_returns])'' –
@RaymondHettinger:或許這是牽強附會,但是'ret'值可能包含'\ n''字符或分隔符需要引用。 – unutbu