Python将多个excel表格合并为一个表格

  • Post category:Python

下面为您详细讲解Python如何将多个Excel表格合并为一个表格的实例教程。这个过程可以分为以下几个步骤:

1.导入需要使用的Python库和模块

import pandas as pd
import glob

2.读取要合并的所有Excel表格并将它们存储在一个list中

all_files = glob.glob("*.xlsx") # 可替换为你目录下的具体文件名和路径
data = []
for filename in all_files:
    df = pd.read_excel(filename, index_col=None, header=0)
    data.append(df)

这样,所有需要合并的Excel表格就已经被存储在了data这个list中。

3.将list中的多个表格合并为一个表格

merged_data = pd.concat(data, axis=0, ignore_index=True)

这里使用了Pandas库中的concat函数,将data中所有的表格按照行方向合并在了一起,存储在merged_data这个变量中。

4.将合并后的表格存储为新的Excel文件

merged_data.to_excel("merged_data.xlsx", index=False)

这里使用了Pandas库中的to_excel函数,将合并后的表格存储在了名为merged_data.xlsx的Excel文件中,其中index=False表示不需要将行号保存在Excel文件中。

综合上述步骤,完整的多个Excel表格合并为一个表格的Python实例代码如下:

import pandas as pd
import glob

all_files = glob.glob("*.xlsx") # 可替换为你目录下的具体文件名和路径
data = []
for filename in all_files:
    df = pd.read_excel(filename, index_col=None, header=0)
    data.append(df)

merged_data = pd.concat(data, axis=0, ignore_index=True)
merged_data.to_excel("merged_data.xlsx", index=False)

示例1:

比如我们有三个名为data1.xlsx、data2.xlsx、data3.xlsx的Excel表格,它们的内容如下:

名字 年龄 地址
张三 22 北京市海淀
李四 35 上海市浦东
王五 28 广东省深圳
赵六 31 河南省郑州
陈七 25 河北省石家庄
名字 年龄 地址
侯八 23 江苏南京
程九 27 浙江杭州
马十 29 河南焦作
名字 年龄 地址
周十一 32 广东广州
许十二 26 广西南宁

我们使用上述Python代码实现合并,并得到的合并后的表格如下:

名字 年龄 地址
张三 22 北京市海淀
李四 35 上海市浦东
王五 28 广东省深圳
赵六 31 河南省郑州
陈七 25 河北省石家庄
侯八 23 江苏南京
程九 27 浙江杭州
马十 29 河南焦作
周十一 32 广东广州
许十二 26 广西南宁

示例2:

如果我们把示例1中使用的代码修改一下,可以实现按照列的方向合并两个Excel表格。我们有两个名为data1.xlsx、data2.xlsx的Excel表格,它们的内容如下:

data1.xlsx:

名字 年龄
张三 22
李四 35
王五 28
赵六 31
陈七 25

data2.xlsx:

地址
北京市海淀
上海市浦东
广东省深圳
河南省郑州
河北省石家庄

我们使用下面的代码合并,按照列的方向合并两个Excel表格。

import pandas as pd

data1 = pd.read_excel("data1.xlsx")
data2 = pd.read_excel("data2.xlsx")

merged_data = pd.concat([data1, data2], axis=1)

merged_data.to_excel("merged_data.xlsx", index=False)

得到的合并后的表格如下:

名字 年龄 地址
张三 22 北京市海淀
李四 35 上海市浦东
王五 28 广东省深圳
赵六 31 河南省郑州
陈七 25 河北省石家庄

总结:

以上就是Python将多个Excel表格合并为一个表格的示例说明。通过Pandas库中的read_excel、concat和to_excel函数的组合使用,我们可以快速方便地将多个Excel表格合并为一个表格或单独保存到一个Excel文件中。