python将两个文件夹合并在一起

Posted 清木QMU

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python将两个文件夹合并在一起相关的知识,希望对你有一定的参考价值。

python将两个文件夹合并在一起

data1, data2:用于合并的数据。
how:‘left’, ‘right’, ‘outer’, ‘inner’,默认’inner’
on:label 或 list
返回: 两个合并对象的数据框架。
有4种类型的合并。
四种连接类型:inner(内连接),left(左外连接),right(右外连接),outer(完全外连接)

# python将两个文件夹合并在一起
data1 = pd.read_csv("E:/Input/info.csv")
data2 = pd.read_csv("E:/Input/info2.csv")
df = pd.merge(data1, data2, how='outer')
print(df)
df.to_excel('E:/Output/info3.xlsx')

在python中合并两个json文件

【中文标题】在python中合并两个json文件【英文标题】:Merge two json files in python 【发布时间】:2019-11-13 23:54:45 【问题描述】:

我有一个场景,我有两个 json 文件。假设 fileA.json 和 fileB.json 在两个文件中都有一些数据。在fileA中,我有一些数据,在fileB中,我需要在fileA中添加一些更改。所以在合并两个文件后,我希望它将数据保存在名为 fileC 的第三个文件中,具有相同的结构和更新的数据,但数据不应该丢失。

这是我的示例文件:-

文件A

  
  "data1":[  
       
       "id":"1",
       "name":"abc"
     ,
       
       "id":"2",
       "name":"xyz"
     
  ],
 "data2":[  
       
       "id":"1",
       "data1_id":"2",
          "data3_ids":[  
              "1"
            ]
     ,
       
       "id":"2",
       "user_id":"3",
          "data3_ids":[  
              "2"
            ]
     
  ],
  "data3":[  
       
       "id":"1",
       "demo":"pqr",
       "title":"Never Be the Same"
     ,
       
       "id":"2",
       "demo":"Zedd",
       "title":"The Middle"
     
  ]

文件B

  
  "data2":[  
      
       "id":"1",
       "data1_id":"2",
          "data3_ids":[  
               "1",
               "2"
           ]
    
  ]

我想在 data2 存在的同一位置用 fileB 更新 fileA,但在 data2_ids 中更新值为“2”。

这是我尝试过的代码:-

import json

with open("fileA.json") as fo:
      data1 = json.load(fo)

with open("fileB.json") as fo:
      data2 = json.load(fo)

data1.update(data2)

with open("fileC.json", "w") as fo:
      json.dump(data1, fo)

这段代码我面临的问题是,虽然我正在获取 fileB 的数据,但丢失了 fileA 的数据。谁能给我一些解决方案。

【问题讨论】:

请添加两个文件示例 json 数据。 update 只需替换新键的添加值或完全替换字典中现有键的值。如果您的 Json 比每个键的单个值更复杂,update 将不够。不幸的是,它取决于 json 结构,我们无法猜测...... 用示例文件更新了我的问题,还更新了我想要更新的方式。 我认为您还需要指定如何“合并” 2 个冲突条目(例如您的 data2 和 data2[id==1][data3_ids] 。我不认为只有 1将执行此操作的函数... id 编写一些贯穿所有内容并应用您想要的规则的东西 【参考方案1】:

无法评论。因此发布答案。你试过 jsonmerge 吗?

base = 
    "foo": 1,
    "bar": [ "one" ],
 

head = 
     "bar": [ "two" ],
     "baz": "Hello, world!"
 


from jsonmerge import merge
result = merge(base, head)

【讨论】:

以上是关于python将两个文件夹合并在一起的主要内容,如果未能解决你的问题,请参考以下文章

python Pythonista脚本将两个图像合并在一起

Python Matplotlib饼图将两个标题相同的切片合并在一起

用python将两个list按顺序合并在一起

python合并多个EXCEL表

如何从 2 个 pkl 文件创建 Python 嵌套字典/将 2 个嵌套字典合并为一个?

Python - 合并两个同时连接的列表