为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

拉风的咖菲猫 2022-06-14 17:48:22
我需要在多个 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',
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

非常简单:json.load(fp)会将 json 文件加载到 python 对象,然后从中提取'text'。


import json

json_object = json.load(FI)

FO.write(json_object['text'])

就是这样。


查看完整回答
反对 回复 2022-06-14
  • 1 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信