31

我有一个数字列表,我想将它们放在 .csv 文件的单列中。下面的代码将值写入单行。如何更改代码以便 Python 将每个值写入单独的行?谢谢。

        with open('returns.csv', 'wb') as f:
            writer = csv.writer(f)
            writer.writerow(daily_returns)
4

4 回答 4

34

使用 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])
于 2011-11-20T02:40:23.710 回答
10

替代解决方案:假设 daily_returns 是您希望作为 CSV 文件中的列写入的列表的名称,则以下代码应该可以工作:

with open('return.csv','w') as f:
    writer = csv.writer(f)
    writer.writerows(zip(daily_returns))
于 2015-12-23T10:10:54.487 回答
5

仅作记录:

我正在使用 Python 3.2,我只能让以下工作

with open('returns','w')as f:
    writer=csv.writer(f,lineterminator='\n')
    for val in returns:
        writer.writerow([val])
于 2014-01-17T22:24:59.573 回答
3

对于编写单列,我建议避免使用csv命令,而只使用带有str.join() 方法的普通 python :

    with open('returns.csv', 'wb') as f:
        f.write("\n".join(daily_returns))
于 2018-03-23T17:17:00.467 回答