如何将列表写入csv文件

时间:2018-03-08 07:58:24

标签: python list

我尝试使用以下代码将列表写入csv文件,但它始终显示错误:

a bytes-like object is required, not 'str'

以下是代码:

import csv
a=['a','b','c']
with open(r"result.csv",'wb') as resultFile:
    writer = csv.writer(resultFile, lineterminator='\n')
    for i in a:
        writer.writerows([[i]])

2 个答案:

答案 0 :(得分:4)

open将文件放入'二进制文件'模式而不是' text'模式:

with open(r"result.csv",'w') as resultFile:  # instead of 'wb'

应该有用。

答案 1 :(得分:0)

就像@hiro主角所说,你是以二进制模式打开文件。 Here是一些有用的文档。

  

Python区分二进制和文本I / O.以二进制模式打开的文件(包括模式参数中的' b')将内容作为bytes对象返回,而不进行任何解码。在文本模式下(默认情况下,或者当模式参数中包含'#39)时,文件的内容将返回为str,这些字节首先使用平台相关解码编码或使用指定的编码(如果给定)。

你也可以使用pandas to_csv

import pandas as pd

a = ['a', 'b', 'c']
df = pd.DataFrame(a)
df.to_csv('result.csv', header=None, index=False)