我有一个数字列表,我想放在.csv文件的单个列中。下面的代码将值写在一行中。如何更改代码以便Python将每个值写入单独的行?感谢。
with open('returns.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerow(daily_returns)
答案 0 :(得分:19)
使用Python3,以w
模式打开文件:
with open('returns.csv', 'w') as f:
writer = csv.writer(f)
for val in daily_returns:
writer.writerow([val])
使用Python2.6 +,以wb
模式打开文件:
with open('returns.csv', 'wb') as f:
writer = csv.writer(f)
for val in daily_returns:
writer.writerow([val])
答案 1 :(得分:5)
替代解决方案:假设daily_returns是您希望在CSV文件中作为列编写的列表的名称,则以下代码应该有效:
with open('return.csv','w') as f:
writer = csv.writer(f);
writer.writerows(zip(daily_returns));
答案 2 :(得分:2)
仅供记录:
我正在使用Python 3.2,我只能使用以下内容
with open('returns','w')as f:
writer=csv.writer(f,lineterminator='\n')
for val in returns:
writer.writerow([val])
答案 3 :(得分:2)
对于编写单个列,我建议避免使用csv
命令,只使用普通python和str.join() method:
with open('returns.csv', 'wb') as f:
f.write("\n".join(daily_returns))