我有一个包含 40 个客户数据文件的文件夹。每个客户都有一个包含不同购买的 json 文件。一个示例路径是 ../customer_data/customer_1/transaction.json
我想将此 json 文件加载到带有customer_id
、date
和列的数据框中。客户 ID 是文件夹名称,然后对于 instore/rewards 中的每一组,我想要一个新行。instore
rewards
目标:上述文件应如下所示:
customer_id| date | instore | rewards
customer_1 |2018-12-21T12:02:42-08:00 | 0 | 0
customer_1 |2018-12-24T06:19:03-08:00 |98.25211334228516 | 16.764389038085938
customer_1 |2018-12-24T06:19:03-08:00 |99.88800811767578 | 18.61212158203125
我尝试了以下代码,但收到此错误 ValueError: Conflicting metadata name flexion, need distinct prefix :
# path to file
p = Path('../customer_data/customer_1/transaction.json')
# read json
with p.open('r', encoding='utf-8') as f:
data = json.loads(f.read())
# create dataframe
df = json_normalize(data, record_path='purchase', meta=['instore', 'rewards'], errors='ignore')
任何的意见都将会有帮助