将Python列表写入单个CSV列
问题描述:
我有一列数字,我想将它放在.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])
+1
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