我正在运行以下代码,尝试提取file.json
中的数据以用作python中的字典。
with open('file.json') as data:
my_data = json.loads(data.read())
当我致电my_data
时,文件不完整。它从67792行或1799045个字符开始。完整的.json
文件为68863行或1827304个字符。我曾尝试使用pd.read_json
,但无法将其用于数据的结构方式。
答案 0 :(得分:1)
这并不能帮助您回答特定的问题,但是根据注释中的讨论,请使用类似以下代码的内容来帮助您测试JSON I / O:
import json
from datetime import datetime
jsonFile = 'D:/test.json'
data = []
print('Generating data...')
for i in range(1000000):
data.append({
'star-date': datetime.now().microsecond,
'captains-log': 'This is entry #{:,}. More later, must go.'.format(i+1)
})
print('Done!')
print('\nNum rows (in-memory): {:,}'.format(len(data)))
print('First (in-memory): {}'.format(data[0]))
print('Last (in-memory): {}'.format(data[-1]))
print('\nSaving JSON...')
with open(jsonFile, 'w') as f:
json.dump(data, f)
print('Done!')
print('Loading JSON...')
jsonData = []
with open(jsonFile) as f:
jsonData = json.load(f)
print('Done!')
print('\nNum rows (from file): {:,}'.format(len(jsonData)))
print('First (from file): {}'.format(jsonData[0]))
print('Last (from file): {}'.format(jsonData[-1]))
对我来说,这个特殊的脚本产生了一个约85mb的JSON文件(100万个条目),生成该文件需要几秒钟的时间,而读回该文件的时间又差不多。列表总数没有差异,而且第一个条目和最后一个条目似乎都符合预期。
您得到不同的结果吗?如果不是,您当前使用的JSON文件是否可能有问题?它是如何产生的?您可以尝试使用许多可用的在线JSON格式化程序/解析器工具之一对其进行解析以进行验证吗?
欢呼