将Python列表编写到单个CSV列中

时间:2011-11-20 02:37:19

标签: python csv writer

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

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

4 个答案:

答案 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))