如何从json文件中读取数据并使用pandas将其转换为csv?

时间:2017-01-25 09:10:25

标签: python json csv pandas

我正在开展数据挖掘项目。我需要从属于亚马逊的json格式数据集中读取数据 数据集的格式如下:
Json-format dataset 首先,我想提取这些行:
[productName],[rating]
之后,我想将行写入csv文件,其中包含两个名为productName和Rating的列。有没有办法通过使用pandas库来实现它?

1 个答案:

答案 0 :(得分:1)

对于数据子集,我已将其转换为DF。请注意,您拥有的数据不是json格式的数据。

import pandas as pd
import json 
from collections import defaultdict
import re

f=open('inv.json')
text= f.readlines()
RowID=[]
result={}

for item in text:
    if item.startswith("###"):
        RowID=re.findall('\d+', item)
        result[RowID[0]]={}
    elif ":" in item:
        key,value =item.split(":",1)
        result[RowID[0]][key.strip()]=value.strip()
df= pd.DataFrame(result)
print df.transpose()

示例输入

    #####1
[ID]:0
[ProductId]:0
[rating]:2.0

#####2
[ID]:1
[ProductId]:2
[rating]:3.0
[fullText]:It is a good
[weburl]:http://example.org:xx

输出

       [ID] [ProductId]    [fullText] [rating]           [weburl]
1    0           0           NaN      2.0                NaN
2    1           2  It is a good      3.0  http://example.org:xx