为了账号安全,请及时绑定邮箱和手机立即绑定

Python:将列表列表写入 CSV

Python:将列表列表写入 CSV

慕田峪4524236 2022-08-25 14:08:47
在我的python脚本中,我有一个具有以下结构的列表:['00:00', 'abc', '2', 'xyz']['00:01', 'cde', '3', 'sda']等等。我想将此列表写入csv文件,以便每个元素都在单独的行中,并且一个元素中的每个字符串都在单独的列中。因此,我想在csv文件中得到以下结果:     A     |     B    |     C    |     D1  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文件中的单独列?--编辑如果我从前三个答案运行代码,我得到相同的结果(除定界符除外):但我的想法是在A列中获得00:00,在B列中获得-6,依此类推。
查看完整描述

2 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

每个列表在 CSV 文件中的显示方式取决于数据结构。data


对于列表列表,以下代码应该可以正常工作。data


import csv


data = []

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|D

00:00|abc|2|xyz

00:01|cde|3|sda


查看完整回答
反对 回复 2022-08-25
?
互换的青春

TA贡献1797条经验 获得超6个赞

方法如何?漂亮又简单...pandas


import pandas as pd


data = [['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.csv


user@host ~/Desktop/so

$ cat output.csv

A|B|C|D

00:00|abc|2|xyz

00:01|cde|3|sda


查看完整回答
反对 回复 2022-08-25
  • 2 回答
  • 0 关注
  • 340 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信