从文件夹中读取 json 文件,获取特定的键值,将键值写入文件夹中的单独文本文件

我需要在多个 json 文件中提取键“文本”的值,并将该值写入 UTF-8 格式的单独文本文件。


有 2,900 个 json 文件,我已将 json、os、glob 导入运行 python 3.7 64 位、W10、VS studio 的环境,将当前工作目录设置为存在 json 文件的文件夹


python:这成功地将一个json文件'j_news1'中的关键'text'值写入一个文本文件'j_news1.txt:


with open('j_news1.txt', 'w') as json_file:

json.dump(j_news1['text'], json_file)

--我为cwd中的所有文件创建了一个文件列表:


filelist = glob.glob(',/*.json')

对文件夹中的所有 json 进行文件列表和打开读取、打开写入操作的代码:


for fname in filelist:

       FI = open(fname, 'r')

       FO = open(fname.replace('json', 'txt'), 'w')

       for line in FI:

          FO.write(line)

我找不到的是如何仅提取关键“文本”并将其写入单独的文本文件。


来自文件的示例 json:


pprint.pprint(j_news1)

{'author': '',

 'crawled': '2018-02-02T15:37:30.069+02:00',

 'entities': {'locations': [{'name': 'us', 'sentiment': 'none'}],

              'organizations': [{'name': 'mins ago cnbc',

                                 'sentiment': 'negative'}],

              'persons': [{'name': 'kate rogers', 'sentiment': 'negative'}]},

 'external_links': [],

 'highlightText': '',

 'highlightTitle': '',

 'language': 'english',

 'locations': [],

 'ord_in_thread': 0,

 'organizations': [],

 'persons': [],

 'published': '2018-02-02T14:39:00.000+02:00',

 'text': "Police officer shortage growing problem in US 54 Mins Ago CNBC's "

         'Kate Rogers reports police departments around the country are facing '

         'a major challenge recruiting and retaining staff.',

 'thread': {'country': 'US',

            'domain_rank': 767,

            'main_image': 'https://fm.cnbc.com/applications/cnbc.com/resources/img/editorial/2018/02/02/104984906-6ED2-SB-020218-PoliceShortage.600x400.jpg',

            'participants_count': 0,

            'performance_score': 0,

            'published': '2018-02-02T14:39:00.000+02:00',

            'replies_count': 0,

            'section_title': 'Latest Video',

            'site': 'cnbc.com',



拉风的咖菲猫
浏览 113回答 1
1回答

慕无忌1623718

非常简单:json.load(fp)会将 json 文件加载到 python 对象,然后从中提取'text'。import jsonjson_object = json.load(FI)FO.write(json_object['text'])就是这样。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python