有没有一种方法可以从类似字符串的数据中提取数据来创建熊猫数据框

时间:2020-02-14 02:12:29

标签: python pandas

我的数据如下

{'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            

2 个答案:

答案 0 :(得分:1)

您可以简单地将所有字典放在一个列表中,然后直接从该列表创建一个数据框:

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)

答案 1 :(得分:0)

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