在python中合并json文件时出现的问题
我试图用相同的头合并多个json文件。 我使用了其他帖子中讨论的代码,并对目标文件夹进行了如下调整:在python中合并json文件时出现的问题,python,json,pandas,merge,Python,Json,Pandas,Merge,我试图用相同的头合并多个json文件。 我使用了其他帖子中讨论的代码,并对目标文件夹进行了如下调整: import glob result= [] filepath = 'D:/Football matters/Sttratagem data access/WYScout/trial data/MergeTest' all_header_files = glob.glob(filepath+'/*.json') for f in all_header_files:
import glob
result= []
filepath = 'D:/Football matters/Sttratagem data access/WYScout/trial data/MergeTest'
all_header_files = glob.glob(filepath+'/*.json')
for f in all_header_files:
with open(f, "rb") as infile:
result.append(json.load(infile))
with open("merged_file.json", "wb") as outfile:
json.dump(result, outfile)
当我循环它进行合并时,它显示了一些错误,如下所示:
import glob
result= []
filepath = 'D:/Football matters/Sttratagem data access/WYScout/trial data/MergeTest'
all_header_files = glob.glob(filepath+'/*.json')
for f in all_header_files:
with open(f, "rb") as infile:
result.append(json.load(infile))
with open("merged_file.json", "wb") as outfile:
json.dump(result, outfile)
TypeError:需要类似字节的对象,而不是'str'
您可以下载示例文件
在我的例子中,我有100多个json文件要合并成一个。
有人能建议它如何合并吗
问候
Zep.问题在于您对glob的使用。下面是它的用法示例
import glob
filepath = 'D:/Football matters/Sttratagem data access/WYScout/trialdata/MergeTest'
all_json_files = glob.glob(filepath+'/*.json')
现在,您可以像以前一样使用for循环来处理
所有的\u json\u文件
问题在于您对glob的使用。下面是它的用法示例
import glob
filepath = 'D:/Football matters/Sttratagem data access/WYScout/trialdata/MergeTest'
all_json_files = glob.glob(filepath+'/*.json')
您现在可以像以前一样使用for循环来处理
所有的json\u文件
是当前目录中的json文件吗?嗨,Vikrant,所有文件都在同一目录中。谢谢贴出的答案应该有用。它在读取文件时起作用。我在帖子中更新了我在合并文件时遇到的问题。请您建议?在open()
调用中使用r
和w
模式,而不是二进制rb
和wb
是当前目录中的json文件?您好,所有文件都在同一目录中。谢谢贴出的答案应该有用。它在读取文件时起作用。我在帖子中更新了我在合并文件时遇到的问题。请您建议?在open()
调用中使用r
和w
模式,而不是二进制rb
和wb
我更新了它。它在所有头文件中显示空值。你能更新你在问题中所做的更改吗?嗨,Anand,谢谢你的回答,我已经更新了。嗨,and,我想是因为在变量中分别分配了一个字符串。我直接插入目录。它向我显示了文件路径,包括names@Zephyr您必须合并filepath变量。查看更新的答案我更新了它。它在所有头文件中显示空值。你能更新你在问题中所做的更改吗?嗨,Anand,谢谢你的回答,我已经更新了。嗨,and,我想是因为在变量中分别分配了一个字符串。我直接插入目录。它向我显示了文件路径,包括names@Zephyr您必须合并filepath变量。查看更新的答案