【问题标题】:Exporting from dicts list to excel从dicts列表导出到excel
【发布时间】:2021-12-24 07:24:34
【问题描述】:

这里是初学者,我写了一个代码,我想将列表中的每个字典导出到 Excel 中。现在它只导出最后一个 - name:evan, age:25。我不知道为什么。终端显示所有数据,但是当我尝试导出时,它显示最后一个。我希望 'name' 和 'age' 成为列标题和下面的相应数据

import pandas as pd

people = [
{
    'name':'corey', 
    'age':12,
},
{
    'name':'matt', 
    'age':15,
},
{
    'name':'evan', 
    'age':25
}]


for person in range(len(people)):
    print(people[person]['name'], people[person]['age'])


excel_dict = {}
for s in range(len(people)):
    excel_dict['p_name'] = (people[s]['name'])
    excel_dict['p_age'] = (people[s]['age'])
    df = pd.DataFrame(data=excel_dict, index=[0])
    df = (df.T)
    print (df)
    df.to_excel('dict1.xlsx')
    

【问题讨论】:

  • 您认为df.to_excel('dict1.xlsx')循环中在做什么?
  • 循环后我得到它时没有区别。结果相同。
  • 当然。你一直覆盖同一个文件
  • 这些粗鲁的回复有什么意义?我只是一个初学者

标签: python python-3.x pandas dataframe


【解决方案1】:

试试这个解决方案:

import pandas as pd

people = [
{
    'name':'corey', 
    'age':12,
},
{
    'name':'matt', 
    'age':15,
},
{
    'name':'evan', 
    'age':25
}]


for person in people:
    print(person['name'], person['age'])

df = pd.DataFrame(people)
print(df)
df.to_excel('dict1.xlsx')

输出:

corey 12
matt 15
evan 25

    name  age
0  corey   12
1   matt   15
2   evan   25

【讨论】:

  • 不幸的是,您的代码创建了 3 个单独的 xlsx 文件,每个文件包含 1 个字典,但感谢您的努力。
  • @MichalK 对不起,我误解了你的问题,我现在将编辑我的解决方案,谢谢反馈。
  • 如果您能提供帮助,还有一件事。我只想将 1 列导出到 excel 文件,例如姓名而不是姓名和年龄。
  • @MichalK 如果您正在处理相同的列表,您可以简单地删除“年龄”列:df.drop('age',axis=1,inplace=True)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-16
  • 1970-01-01
  • 1970-01-01
  • 2012-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多