Json 将字典和写入文本文件相结合,然后作为字典再次读取?
我点击了一个链接,每次点击都会得到一个json文件。然后我将数据写入一个文本文件。但是当我想再读一遍的时候,我想把它当作字典来读,我怎么能做到呢Json 将字典和写入文本文件相结合,然后作为字典再次读取?,json,python-3.x,dictionary,Json,Python 3.x,Dictionary,我点击了一个链接,每次点击都会得到一个json文件。然后我将数据写入一个文本文件。但是当我想再读一遍的时候,我想把它当作字典来读,我怎么能做到呢 def url_seq(limit=5): for i in range(limit): link = 'http:...x={}'.format(i) yield link def json_seq(link): for text in link: with urllib.request.ur
def url_seq(limit=5):
for i in range(limit):
link = 'http:...x={}'.format(i)
yield link
def json_seq(link):
for text in link:
with urllib.request.urlopen(text) as url:
data = json.loads(url.read().decode())
yield data['data']
open('data.txt', 'w').close()
for item in json_seq(url_seq(limit=100)):
with open('data.txt', 'a') as f:
json.dump(item, f)
f.write(',')
输出文件是这样的,
{'x':0.0,'y':-7.46207946179981},{'x':1.0,'y':-5.300602624446985},{'x':2.0,'y':1.4418651159990272}代码>
但我想把它当作字典来读。这样我就可以把它们放到一个数据框中进行分析
下面的代码给了我一个列表,有没有办法把它读到字典里。我对Python有点陌生,如果我指的是一些非Python的东西,请原谅。提前谢谢
f = open('data.txt', 'r')
lines = f.read().split(',')
我建议您将所有单个数据项放在一个列表中,并将其保存为JSON文件
data = [x for x in json_seq(url_seq(limit=100))]
with open('data.json', 'w') as f:
json.dump(data, f)
稍后,您可以使用pd.read_JSON
读取JSON文件:
df = pd.read_json('data.json')
如果确实要节省内存,请在项
写入之间添加大括号
with open('data.json', 'w') as f:
f.write('[')
for item in json_seq(url_seq(limit=100)):
f.write(json.dumps(item) + ',')
f.write(']')
如果将其另存为JSON,则可以将其加载为JSON。实际上,我想保存内存,不想先将数据保存到列表中,而是直接将数据保存到文本文件中,因为数据将非常大。@DataPolicyInc。请参见编辑。另外,如果您打算将其作为熊猫数据帧读入,您可以将其作为单个JSON编写,我不知道问题出在哪里。@COLDSPEED现在我明白了。多谢各位。