如何从字典中编写文本文件,其中每个键都是换行符?

时间:2018-11-16 23:11:30

标签: python dictionary dataframe text

这是我的代码:

#creating a list of tweets ID and a dictionary with the values
tweet_ids = list(df1.tweet_id)
tweet_data = {}

for tweet in tweet_ids[:5]:
    try:
        tweet_status = api.get_status(tweet, tweet_mode='extended')
        id_str = tweet_status.id_str
        retweet_count = tweet_status.retweet_count
        favorite_count = tweet_status.favorite_count
        tweet_data[id_str] = retweet_count, favorite_count
    except:
        print("Error for: " + str(tweet))

结果

输入tweet_status

输出:

{'892420643555336193': (8374, 38224),
'892177421306343426': (6181, 32766),
'891815181378084864': (4090, 24675),
'891689557279858688': (8512, 41548),
'891327558926688256': (9219, 39740)}

到目前为止还不错。...但是当我创建一个文本文件时,它会创建一个像这样的文件:

{'892420643555336193': (8374, 38223), '892177421306343426': (6181, 32765), '891815181378084864': (4090, 24675), '891689557279858688': (8513, 41546), '891327558926688256': (9220, 39737)}

用于创建文件的代码:

f = open('tweet_json.txt', 'w')
f.write(str(tweet_data))
f.close()

1 个答案:

答案 0 :(得分:1)

在写入文件之前,您可以使用json.dumps格式化JSON字符串:

import json

f = open('tweet_json.txt', 'w')
f.write(json.dumps(tweet_data, indent=2))
f.close()

文件输出如下:

{
  "892420643555336193": [
    8374,
    38224
  ],
  "892177421306343426": [
    6181,
    32766
  ],
  "891815181378084864": [
    4090,
    24675
  ],
  "891689557279858688": [
    8512,
    41548
  ],
  "891327558926688256": [
    9219,
    39740
  ]
}