Python:将列表列表写入 CSV

在我的python脚本中,我有一个具有以下结构的列表:


['00:00', 'abc', '2', 'xyz']

['00:01', 'cde', '3', 'sda']

等等。我想将此列表写入csv文件,以便每个元素都在单独的行中,并且一个元素中的每个字符串都在单独的列中。因此,我想在csv文件中得到以下结果:


     A     |     B    |     C    |     D

1  00:00   |    abc   |     2    |    xyz     

2  00:01   |    xyz   |     3    |    sda


目前我有一个这样的代码:


with open('test1.csv',mode='w',encoding='UTF-8') as result_file:

    wr = csv.writer(result_file, dialect='excel')

    for x in data:

        wr.writerow(x)

我得到的结果是列表的每个元素都写到列A,所以它看起来像这样:


             A               |       

1  '00:00','abc','2','xyz'   |


如何实现将每个字符串拆分为csv文件中的单独列?


--编辑


如果我从前三个答案运行代码,我得到相同的结果(除定界符除外):

http://img2.mukewang.com/630712150001203408990191.jpg

但我的想法是在A列中获得00:00,在B列中获得-6,依此类推。


慕田峪4524236
浏览 344回答 2
2回答

扬帆大鱼

每个列表在 CSV 文件中的显示方式取决于数据结构。data对于列表列表,以下代码应该可以正常工作。dataimport csvdata = []d1 = ['00:00', 'abc', '2', 'xyz']d2 = ['00:01', 'cde', '3', 'sda']data.append(d1)data.append(d2)with open('results_file.csv', mode='w') as results_file:    results_writer = csv.writer(results_file, delimiter='|', quotechar='"',         quoting=csv.QUOTE_MINIMAL)    results_writer.writerow(['A','B','C','D'])    for x in data:        results_writer.writerow(x)results_file.csv看起来像:A|B|C|D00:00|abc|2|xyz00:01|cde|3|sda

互换的青春

方法如何?漂亮又简单...pandasimport pandas as pddata = [['00:00', 'abc', '2', 'xyz'], ['00:01', 'cde', '3', 'sda']] cols = ['A', 'B', 'C', 'D']# Load data into a DataFrame.df = pd.DataFrame(data, columns=cols)# Write the CSV.df.to_csv('output.csv', sep='|', index=False)根据文档,您可以使用参数更改分隔符。sep[编辑]输出:的内容,如控制台所示:output.csvuser@host ~/Desktop/so$ cat output.csvA|B|C|D00:00|abc|2|xyz00:01|cde|3|sda
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python