我正在使用python 3.6,并尝试使用下面的代码下载json文件(350 MB)作为panda Dataframe 。但是,我得到了以下错误:
data_json_str = "[" + ",".join(data) + "]
"TypeError: sequence item 0: expected str instance, bytes found
如何修复错误?
import pandas as pd
# read the entire file into a python array
with open('C:/Users/Alberto/nutrients.json', 'rb') as f:
data = f.readlines()
# remove the trailing "\n" from each line
data = map(lambda x: x.rstrip(), data)
# each element of 'data' is an individual JSON object.
# i want to convert it into an *array* of JSON objects
# which, in and of itself, is one large JSON object
# basically... add square brackets to the beginning
# and end, and have all the individual business JSON objects
# separated by a comma
data_json_str = "[" + ",".join(data) + "]"
# now, load it into pandas
data_df = pd.read_json(data_json_str)
6条答案
按热度按时间xqnpmsa81#
从您的代码看,您似乎正在加载一个JSON文件,其中每行都有JSON数据。
read_json
支持lines
参数,用于如下数据:如果每行只有一个JSON对象,而不是单独的JSON对象,请删除
lines=True
。q9rjltbz2#
使用json模块,你可以把json解析成python对象,然后创建一个 Dataframe :
pu82cl6c3#
如果你打开二进制文件(
'rb'
),你会得到字节。同样如this答案中所述,您也可以直接使用panda,如:
qmelpv7a4#
如果您想将其转换为JSON对象的 * 数组 *,我认为这个方法可以满足您的需要
at0kjp5o5#
请输入以下代码
请检查代码并根据您的需要进行修改。我添加了注解来解释每一行代码。希望这对您有所帮助!
6ovsh4lw6#
使用panda读取json文件的最简单方法是:
像这样处理嵌套json
[[{值1:1},{值2:2}],[{值3:3},{值4:4}],.....]
使用Python基础知识