JSON转换为CSV文件,但没有逐列跟踪数据

时间:2019-07-03 07:38:13

标签: python json pandas csv dataframe

Json转换为csv文件,但我得到的数据不是逐列跟踪的:

{u'name': u'Charles', u'walletID': u'W17355', u'terminalType': u'TypeC', u'dateTime': u'2019-05-30 14:43:11:448', u'amount': u'12675.69', u'tid': u'T17333', u'merchantID': u'M18527'}

代码:

import pandas as pd
import csv, json

df=pd.read_json('testing.json')
df.to_csv('open.csv', index=False)

我想要的是csv文件中的数据逐列

1 个答案:

答案 0 :(得分:1)

假设您期望得到以下结果

enter image description here

您的testing.json文件具有以下内容

{
    "name": "Charles",
    "walletID": "W17355",
    "terminalType": "TypeC",
    "dateTime": "2019-05-30 14:43:11:448",
    "amount": "12675.69",
    "tid": "T17333",
    "merchantID": "M18527"
}

我建议您使用以下代码段

with open('testing.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

df = pd.DataFrame([data.values()], columns=data.keys())
df.to_csv('open.csv', index=False)

您的示例不起作用,因为熊猫希望以下格式的json起作用。

{"name":{"0":"Charles"},"walletID":{"0":"W17355"},"terminalType":{"0":"TypeC"},"dateTime":{"0":"2019-05-30 14:43:11:448"},"amount":{"0":"12675.69"},"tid":{"0":"T17333"},"merchantID":{"0":"M18527"}}