首页 > 解决方案 > 在 python 中将列表写入 csv/excel

问题描述

我有以下列表,每个列表都将在 csv/excel 中形成一行:

row1 = ['E411', 'name1', ['issue1', 'issue2', 'issue3']]
row2 = ['E473', 'name2', ['issue1', 'issue2']

我想要一个 csv 或 excel 文件,其中包含列标题 ['Title', 'Name', 'Issues'] 的三列,其中 row1 的第一个元素是标题,第 1 行的第二个元素是名称,第三个元素(没有引号和逗号,可能在单元格内有换行符)是问题所在。

我尝试的以下内容仅给出列表第三个元素中的第一项。

headers = ['Title','Name','Issues'
a = pd.DataFrame(row1, columns=headers)
a.to_csv('issues.csv', model='a', header=False)

标签: pythonexcelcsv

解决方案


这应该做的工作:

row1 = ['E411', 'name1', ['issue1', 'issue2', 'issue3']]
row2 = ['E473', 'name2', ['issue1', 'issue2']]
allrows = [row1, row2]
for n in range(len(allrows)):
    allrows[n][-1] = '\n'.join(allrows[n][-1])
import pandas as pd
pd.DataFrame(allrows).to_csv('outcsvfilename.csv', index=False, header=['Title','Name','Issues'])

推荐阅读