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

我点击了一个链接,每次点击都会得到一个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.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现在我明白了。多谢各位。