有没有办法通过从类似数据的字符串中提取数据来创建熊猫数据帧



我的数据如下

{'first_name': 'sandy', 'last_name': 'Joy', 'company': 'xyz', 'address_1': 'Upper hill Nairobi, hospital road, FORTIS SUITES', 'address_2': '-1.2808879508554905,36.82423747075825', 'city': '', 'state': '', 'postcode': '', 'country': 'KE', 'email': 'atienxxxandy@gmail.com', 'phone': '+25470xxx487'}
{'first_name': 'Alice', 'last_name': 'Kimani', 'company': '', 'address_1': 'Mayfair business center parklands', 'address_2': '', 'city': '', 'state': '', 'postcode': '', 'country': 'KE', 'email': 'githaxxxxce615@gmail.com', 'phone': '+254xxxx07329'}

期望的输出

first_name   last_name      company   address_1                                      ....other columns
1. sandy          Atieno     xyz     Upper hill Nairobi, hospital road, FORTIS SUITES 
2. Alice          Kimani             Mayfair business center parklands            

您只需将所有字典放入一个列表中,然后直接从该列表创建数据帧:

data = [{'first_name': 'sandy', 'last_name': 'Joy', 'company': 'xyz', 'address_1': 'Upper hill Nairobi, hospital road, FORTIS SUITES', 'address_2': '-1.2808879508554905,36.82423747075825', 'city': '', 'state': '', 'postcode': '', 'country': 'KE', 'email': 'atienxxxandy@gmail.com', 'phone': '+25470xxx487'},
{'first_name': 'Alice', 'last_name': 'Kimani', 'company': '', 'address_1': 'Mayfair business center parklands', 'address_2': '', 'city': '', 'state': '', 'postcode': '', 'country': 'KE', 'email': 'githaxxxxce615@gmail.com', 'phone': '+254xxxx07329'}]
pd.DataFrame(data)

Pandas 有一个内置的 JSON 解析器,pandas.read_json(),你可以在这里阅读: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_json.html

它对于处理 json 结构化数据的各种布局非常强大,但是如果你的数据有一些怪癖(看起来你在不同的行上有 json 对象,而不是对象的 json 列表(,那么首先将文件解析为字典列表,然后将其转换为数据帧可能会更容易。Python 有一个内置的 json 模块,您可以使用json.loads()将每一行输入到该模块中。在这里阅读: https://docs.python.org/3/library/json.html

最新更新