我有一个元组列表,我想将其转换为 Pandas 数据框并使用列标题写入 excel。
Column_headers = ["Name", "Count1", "Count2"]
mylist = [('A',(1,2)), ('B',(23,2)), ('C',(1,23)), ('D',(5,23))]
Excel 输出
Name | Count1 | Count2
A | 1 | 2
B | 23 | 2
C | 1 | 23
D | 5 | 23
我在下面尝试过,但它只保存了 mylist 中的最后一个条目。
writer = pd.ExcelWriter('demo.xlsx', engine='xlsxwriter')
start_row = 0
for i, data in enumerate(mylist):
df = pd.DataFrame({"Name": [data[0]],
"Count1": [data[1][0]],
"Count2": [data[1][1]]})
df.to_excel(writer, sheet_name='Sheet1',header=True, index=False)
writer.save()
有人可以提供任何指示吗?
提前致谢,节日快乐
答案 0 :(得分:2)
您可以在这里使用itertools.chain.from_iterable
from itertools import chain
df = pd.DataFrame(map(chain.from_iterable, mylist), columns=Column_headers)
Name Count1 Count2
0 A 1 2
1 B 23 2
2 C 1 23
3 D 5 23
答案 1 :(得分:1)
试试下面的代码:
Column_headers = ["Name", "Count1", "Count2"]
mylist = [('A',(1,2)), ('B',(23,2)), ('C',(1,23)), ('D',(5,23))]
df = pd.DataFrame([[i[0], i[1][0], i[1][1]] for i in mylist], columns=Column_headers)
df.to_excel('demo.xlsx')