Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从json文件中读取数据并使用pandas将其转换为csv?_Python_Json_Csv_Pandas - Fatal编程技术网

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

Python 如何从json文件中读取数据并使用pandas将其转换为csv?,python,json,csv,pandas,Python,Json,Csv,Pandas,我正在从事一个数据挖掘项目。我需要从属于amazon的json格式数据集中读取数据。 数据集的格式如下: 首先,我要提取这些行: [productName],[rating] 然后,我想将这些行写入一个csv文件,其中有两列名为productName和Rating。有没有办法通过使用pandas库来实现这一点?对于数据子集,我已将其转换为DF。请注意,您拥有的数据不是json格式的数据 import pandas as pd import json from collections impor

我正在从事一个数据挖掘项目。我需要从属于amazon的json格式数据集中读取数据。
数据集的格式如下:
首先,我要提取这些行:
[productName],[rating]

然后,我想将这些行写入一个csv文件,其中有两列名为productName和Rating。有没有办法通过使用pandas库来实现这一点?

对于数据子集,我已将其转换为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

您可以将
json
的示例添加为文本吗?还要检查json是否有效-这肯定是一个很好的帮助,但它并不能完全回答问题,特别是对于我们需要提取行的部分。无论如何,谢谢你的帮助。我尝试了你开发的代码。不幸的是,它给出了一个错误。文件“C:\Users\masoud\Desktop\Dataset\data3\aa-Copy.py”,第16行,在key中,value=item.split(“:”)value错误:太多的值需要解包(预期2)更新了答案,这就是我们期望OP具有最小工作输入和预期输出的原因。