来自元组列表的熊猫数据框

时间:2020-12-26 12:10:49

标签: python pandas

我有一个元组列表,我想将其转换为 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()

有人可以提供任何指示吗?

提前致谢,节日快乐

2 个答案:

答案 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')
相关问题