我正在从数据库导入数据,我只需要一个字段。我可以很好地获得一个字段,但是像这样,该字段中的数据看起来确实很乱。
[
{'id': 360014571631, 'default': False, 'name': '200 - OK', 'raw_name': '200 - OK', 'value': 'purpose_add/remove_user'},
{'id': 360014571651, 'default': False, 'name': 'Change Permissions', 'raw_name': 'Change Permissions', 'value': 'purpose_change_permissions'},
{'id': 360014571671, 'default': False, 'name': 'Failed Data Validation', 'raw_name': 'Failed Data Validation', 'value': 'purpose_failed_data_validation'},
{'id': 360014571691, 'default': False, 'name': 'Grant Access', 'raw_name': 'Grant Access', 'value': 'purpose_grant_access'},
]
我想清理它并放入另一个数据框中。因此,我想删除单个撇号以及方括号和花括号(非常简单)。最后,我想根据逗号分割所有内容,并将名称分配到冒号左侧作为新的字段名称。所以,我想把它变成这种格式。
那是我不知道的。我不确定这是枢轴,移调还是融化。我不知道该怎么称呼。绝对是对数据集的某种转换。
id default name raw_name value etc., etc., etc.
360014571631 FALSE 200 - OK 200 - OK purpose_add/remove_user etc., etc., etc.
将数据导出到CSV时,会看到以下内容:
注意:一些记录如下:
[]
我尝试过:
df1[df1.custom_field_options.str.contains("[]") == False]
我收到此错误:
error: unterminated character set
如果我运行Ben的数据集,它实际上可以像我想要的那样工作。
答案 0 :(得分:0)
我可能会丢失一些有关您要进行的转换的信息,但是如上所述,我认为您只是想从词典列表中创建数据框。
使用数据:
data = [{'id': 360014571631, 'default': False, 'name': '200 - OK', 'raw_name': '200 - OK', 'value': 'purpose_add/remove_user'}, {'id': 360014571651, 'default': False, 'name': 'Change Permissions', 'raw_name': 'Change Permissions', 'value': 'purpose_change_permissions'}, {'id': 360014571671, 'default': False, 'name': 'Failed Data Validation', 'raw_name': 'Failed Data Validation', 'value': 'purpose_failed_data_validation'}, {'id': 360014571691, 'default': False, 'name': 'Grant Access', 'raw_name': 'Grant Access', 'value': 'purpose_grant_access'}]
您可以使用以下方法将其转换为数据框:
df = pd.DataFrame().from_dict(data)
返回:
default id name raw_name value
0 False 360014571631 200 - OK 200 - OK purpose_add/remove_user
1 False 360014571651 Change Permissions Change Permissions purpose_change_permissions
2 False 360014571671 Failed Data Validation Failed Data Validation purpose_failed_data_validation
3 False 360014571691 Grant Access Grant Access purpose_grant_access
如果您想将其导入JSON。
df.to_json()
,您可以在这里找到: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_json.html