将 Python 列表逐行写入 csv 文件

我有一个这样的清单


[[1.75], [4.75]]

[[2.5], [2.5]]

[[3.5], [3.5]]

[[4.0], [4.0]]

我想将其写入 csv 文件,例如


1.75, 4.75

2.5, 2.5

3.5, 3.5

4.0, 4.0

当我尝试使用模块writerows方法时csv,它被保存为


1.75

4.75

2.5

2.5

3.5

3.5

4.0

4.0


莫回无
浏览 154回答 2
2回答

慕无忌1623718

您需要将每一行解压到一个平面列表中。import csvmy_list = [    [[1.75], [4.75]],    [[2.5], [2.5]],    [[3.5], [3.5]],    [[4.0], [4.0]],    ]with open("my.csv", "w") as f:    writer = csv.writer(f)    for row in my_list:        writer.writerow([l[0] for l in row])或者,如果愿意,for可以用生成器表达式替换循环,以便您可以writerows像当前一样使用:    writer.writerows([l[0] for l in row] for row in my_list)

子衿沉夜

这是一个可能的解决方案:import csvlst = [[[1.75], [4.75]],       [[2.5], [2.5]],       [[3.5], [3.5]],       [[4.0], [4.0]]]with open('file.csv', 'w') as f:    writer = csv.writer(f)    w.writerows([[x[0] for x in lst] for line in lst])或者,您可以使用以下方法来扁平化您的列表itertools.chain:from itertools import chain...w.writerows([list(chain(*line)) for line in lst])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python