我需要在多个 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'])
就是这样。
添加回答
举报
0/150
提交
取消