首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历文件路径列表,读取JSON文件,使用Pymongo插入MongoDB

循环遍历文件路径列表,读取JSON文件,使用Pymongo插入MongoDB
EN

Stack Overflow用户
提问于 2020-02-11 18:50:28
回答 1查看 175关注 0票数 0

我有一个1000+ json元数据文件的文件文件夹。我已经创建了一个文件路径列表,并试图:

  • 对于每个文件路径,只读取json文件
  • 拉入我对
  • 感兴趣的键值对,将其存储在变量中,或者以可以使用pymongo

插入到mongodb中的方式保存它

我已经成功地列出了一个变量的文件路径,并加载了一个json (从一个文件路径)。问题是,我需要做一千多个,当我试图合并文件路径和循环的列表时,会出现一个错误。

到目前为止,我尝试过的是:

代码语言:javascript
复制
import pymongo 
import json 

filename = r"C:\Users\Documents\FileFolder\randomFile.docx.json"
with open(filename, "r", encoding = "utf8") as f:
    json_doc = json.load(f)

new_jsonDoc = dict()

for key in {'Application-Name', 'Author', 'resourceName', 'Line-Count', 'Page-Count', 'Paragraph-Count', 'Word-Count'}:
    new_jsonDoc[key] = json_doc[0][key]

样本输出:

代码语言:javascript
复制
{'Application-Name': 'Microsoft Office Word',
 'Author': 'Sample, John Q.',
 'Character Count': '166964',
 'Line-Count': '1391',
 'Page-Count': '103',
 'Paragraph-Count': '391',
 'Word-Count': '29291',
 'resourceName': 'randomFile.docx'}

现在,当我添加循环时:

代码语言:javascript
复制
for file in list_JsonFiles: # this is list of file paths created by os.walk
# if I do a print(type(file)) here, file type is a string
    with open(file, "r") as f:
    # print(type(file)) = string, print(type(f)) = TextIOWrapper
        json_doc = json.loads(f)
        ### TypeError: the JSON object must be str, bytes or bytearray, not TextIOWrapper ###

我怎么才能让我的循环正常工作?我的方法错了吗?

EN

回答 1

Stack Overflow用户

发布于 2020-02-13 15:02:34

计算出了TypeError:

代码语言:javascript
复制
for file in list_JsonFiles:
    with open(file, "r", encoding = "utf8") as f:
        json_doc = json.load(f)
        new_jsonDoc = dict() 
        for key in {'Application-Name', 'Author', 'resourceName', 'Line-Count', 'Page-Count', 'Paragraph-Count', 'Word-Count'}:
            if key in json_doc[0]: 
                new_jsonDoc[key] = json_doc[0][key]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60175566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档