【问题标题】:Converting the dictionary inside the list to the nested dictionary将列表中的字典转换为嵌套字典
【发布时间】:2022-11-04 19:59:58
【问题描述】:

有一个元组列表,称为employee_data,其中每个列表元素是一个元组,对应于一个类和一个员工可以获得的积分。例如,

员工数据 =
[{
   “名称”:“asd”,
   “姓氏”:“abc”,
   “生日”:2021 年 15 月 15 日,
   “出生地”:“CA”,
   "live_place": "美国",
   “电子邮件”:“sss.com”,
   “网站”:“sss.com”,
   "电话号码": "12345678901",
   "work_number": "abc",
   “保存日期”:2021 年 15 月 15 日,
   “开始日期”:2021 年 15 月 15 日,
   “请假日期”:2021 年 15 月 15 日,
   “项目”:“支持结束”,
   “年龄_in_months”:256,
   “年龄_in_Years”:15.3,
   "计算机名": 'pc1',
   “计算机_cpu”:8,
   “计算机内存”:12,
   “计算机_ssd”:256,
 },
 {
   “名称”:“asd”,
   “姓氏”:“abc”,
   “生日”:2021 年 16 月 15 日,
   “出生地”:“CA”,
   "live_place": "美国",
   “电子邮件”:“sss.com”,
   “网站”:“sss.com”,
   "电话号码": "12345678901",
   "work_number": "abc",
   “保存日期”:2021 年 15 月 15 日,
   “开始日期”:2021 年 15 月 15 日,
   “请假日期”:2021 年 15 月 15 日,
   “项目”:“支持结束”,
   “年龄_in_months”:256,
   “年龄_in_Years”:15.3,
   "计算机名": 'pc1',
   “计算机_cpu”:8,
   “计算机内存”:12,
   “计算机_ssd”:256,
 }]
Nested Dict ID name lastname birthday birthplace live_place email
0 asd abc 15/15/2021 USA CAD asd@mail.com
1 asd2 abc 16/15/2021 CAD USA abc@mail.com

我尝试了此功能,但无法修复错误。 这里是a link

我的问题是,这本字典在列表中。我想为映射数据创建嵌套字典。

[{0{"name": "asd",
   “姓氏”:“abc”,
   “生日”:2021 年 15 月 15 日,
   “出生地”:“CA”,
   "live_place": "美国",
   “电子邮件”:“sss.com”,}
1{“名称”:“asd2”,
   “姓氏”:“abc”,
   “生日”:2021 年 16 月 15 日,
   “出生地”:“CA”,
   "live_place": "美国",
   “电子邮件”:“sss.com”,}]

如果员工的姓氏相同,我想获取员工nestedDictID,而不是我将导入不同列表和表中的所有信息。

d = { x['lastname']: x['abc'] for x in employee_data}
键错误:'abc'

【问题讨论】:

  • 您好,请问您的问题是什么?
  • 那不是元组列表。那是一个字典列表。
  • 请展示您尝试过的内容并解释它如何不适用于大量数据?此外,问题标题询问打印数据,但正文提到导入到 sql;只关注其中之一
  • 我更新了问题,谢谢回复。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如它目前所写的那样,很难准确地说出你在问什么。

标签: mysql python-3.x list uitableview


【解决方案1】:

您可以使用从 json 中提取的所需数据创建一个元组列表,您可以使用这些数据将其导出到 SQL 表。参考以下代码:

import pandas as pd
data = [(item.get('name'), item.get('lastname'),item.get('birthday'),item.get('birthplace'), item.get('live_place'), item.get('email')) for item in employee_data]
print(data)

df = pd.DataFrame.from_records(data, columns=['name', 'lastname', 'birthday','birthplace','live_place','email']))

然后你可以使用 pandas 的df.to_sql

【讨论】:

  • 这就是我要找的。谢谢你。
  • @sapkernel 很酷。如果这是您正在寻找的解决方案,那么您可以投票并将其标记为您问题的答案:-)
【解决方案2】:

我们可以有相同的解决方案,但在 Mysql 中。

【讨论】:

    猜你喜欢
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 2023-03-11
    相关资源
    最近更新 更多