【发布时间】:2021-06-24 07:14:39
【问题描述】:
我手动创建了一个DataFrame:
import pandas as pd
df_articles1 = pd.DataFrame({'Id' : [4,5,8,9],
'Class':[
{'encourage': 1, 'contacting': 1},
{'cardinality': 16, 'subClassOf': 3},
{'get-13.5.1': 1},
{'cardinality': 12, 'encourage': 1}
]
})
我将其导出为一个csv文件,然后拆分后导入:
df_articles1.to_csv(f"""{path}articles_split.csv""", index = False, sep=";")
我可以用pd.json_normalize()拆分它:
df_articles1 = pd.json_normalize(df_articles1['Class'])
我将其 csv 文件导入 DataFrame:
df_articles2 = pd.read_csv(f"""{path}articles_split.csv""", sep=";")
但这失败了:
AttributeError: 'str' 对象没有属性 'values' pd.json_normalize(df_articles2['Class'])
【问题讨论】:
-
那是因为当您通过
to_csv()保存时,您的 class 列中的数据存储为string而不是dictionary/json -
df_articles1.dtypes 为 Class 列返回“object”类型。它应该返回字符串?
-
我无法重现这个。您发布的代码运行没有错误。
标签: python json pandas dataframe