两个json文件都有n行,将两个文件的每一行进行拼接如何实现
时间: 2024-03-09 22:50:21 浏览: 148
假设有两个 JSON 文件 `file1.json` 和 `file2.json`,每个文件都有 `n` 行 JSON 数据。下面是将这两个文件的每一行进行拼接的实现方式:
```python
import json
# 读取文件1的所有行
with open('file1.json', 'r') as f1:
lines1 = f1.readlines()
# 读取文件2的所有行
with open('file2.json', 'r') as f2:
lines2 = f2.readlines()
# 拼接每一行的数据
result = []
for i in range(len(lines1)):
# 解析文件1的当前行
data1 = json.loads(lines1[i])
# 解析文件2的当前行
data2 = json.loads(lines2[i])
# 拼接两行数据
data = {**data1, **data2}
# 将拼接后的数据添加到结果列表中
result.append(data)
# 将结果写入新文件中
with open('result.json', 'w') as f:
for data in result:
# 将数据转换为 JSON 格式并写入文件
f.write(json.dumps(data) + '\n')
```
上述代码中,首先使用 `readlines()` 方法读取文件1和文件2的所有行,然后使用 `json.loads()` 方法解析每一行的 JSON 数据。接下来,使用 Python 字典的解包操作符 `**` 将文件1和文件2中对应行的数据进行拼接,得到一个新的 Python 字典。最后,将新的字典转换为 JSON 格式并写入新文件中。
需要注意的是,上述代码中假设文件1和文件2中每一行的 JSON 数据结构是相同的,并且两个文件中对应行的数据可以一一对应。如果这两个条件不满足,则需要根据实际情况进行修改。
阅读全文