查找两张excel表的列之间的差异

2024-06-16 17:37:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个excel文件,都有多张表。这两个文件有一些共同的工作表,即他们有相同的工作表名称,但不同的数据和值。但是,这些具有相同名称的工作表在一个文件中的列数多于另一个文件中的列数。我要做的是将具有额外列的工作表中的额外列复制到缺少这些列的工作表(在其他excel文件中)。同样,公共列中的数据是不同的,所以我不能简单地将较大的表复制到较小的表中。你知道吗

首先读取两个文件:

 v8 = pd.read_excel('Revised_V8.xlsx', sheet_name=None)
 v9 = pd.read_excel('Revised_V9.xlsx', sheet_name=None)

现在正在读取两个文件中的一个公共页

  MAP_8 = v8['MAP']
  MAP_9 = v9['MAP']

现在地图8和地图9都是OredRect。我使用这一行来获取V9中额外列的名称

  d=set(MAP_9)-set(MAP_8)

我被困在这里了。我的想法是检索d中那些列中的数据,然后将其添加到v8数据帧中

  xtracol = MAP_9[d]    # I want to return the values of those columns saved in d

我在这里得到一个错误TypeError:unhable type:'set'

很抱歉,我不知道如何解决这个问题,或者在不使用set的情况下获取extar列。你知道吗

总而言之,假设地图9有三列A、B、C,而地图8只有两列A、B。A和B中的数据在两张纸上是不同的。我只想从MAP_9复制C列并将其添加到MAP_8,而不更改MAP_8中A和B的值。你知道吗

这只是一个简单的例子,但我有十几个常用的表,有些表比其他表多出几十列

先谢谢你


Tags: 文件数据name名称mapread地图xlsx
1条回答
网友
1楼 · 发布于 2024-06-16 17:37:16

我不知道用Python操作Excel的语法,但我对Excel和Python有相当的了解。现在您有了另一个工作表中缺少的列的名称,对于每一个额外的列,在缺少它的工作表中以相同的名称添加一个空列。然后将额外列中的数据加载到Python中,并将其写入新的空列。要自动重复此过程,请执行一些简单的Python循环,例如: For sheet in sheets:
MAP_8 = v8[sheet]
MAP_9 = v9[sheet]
如果需要的话,我可以在评论中对此进行扩展。你知道吗

相关问题 更多 >