教你如何快速合并内容相似的Excel文件

大家好,我是小瑜~

在上大学的时候,小瑜是学生会的,那时候经常会让收集各种表格,这些表格是我们做好的模板,然后让各班学生进行填写的,然后我们只需要将反馈回来的附件给汇总成一个文件。这个工作看似很简单,但是我们每个月都有各种类型的表格要进行收集统计,如果每一次都是这样操作的话,那出去说自己是计算机专业的也太丢人了。

所以,小瑜今天跟大家分享一个批量合并Excel表格的方法。这个方法分为以下几个部分。

点击获取源码,提取码:qwer

01

Excel的读取和写入

这里我们用到的是Openpyxl库来对Excel进行读取和写入操作。

1. Excel的读取

首先调用openpyxl.load_workbook()函数,打开“菠萝.xlsx”文件。

wb = openpyxl.load_workbook('菠萝.xlsx')

然后获取“菠萝.xlsx”工作薄中名为“Sheet”的工作表。

sheet = wb['Sheet']

把“Sheet”工作表中A1单元格赋值给A1_cell,再利用单元格value属性,就能获得A1单元格的值。

A1_cell = sheet['A1']

A1_value = A1_cell.value

以上就是Excel文件的读取啦!其他的单元格的数据获取同上,如想批量获取,只需加上一个for循环即可。

2.Excel的写入

利用openpyxl.Workbook()函数创建新的workbook(工作薄)对象,就是创建新的空的Excel文件。

wb_1 = openpyxl.Workbook()

创建完新的工作薄后,还得获取工作表。不然程序会无所适从,不知道要把内容写入哪张工作表里。

sheet_1 = wb_1.active

如果我们想往工作表里写入一行内容的话,就得用到append函数。然后如果想批量插入的话,我们加上一个for循环就可以了。

a = [A_cell.value,B_cell.value,C_cell.value,D_cell.value,E_cell.value]

sheet_1.append(a)

往单元格里写入内容只要定位到具体的单元格,如A1(根据Excel的坐标,A1代表第一列第一行相交的单元格),然后给这个单元格赋值即可。它可以方便我们输入文件的表头。

sheet_1['A1'] = ' '

sheet_1['B1'] = ' '

sheet_1['C1'] = ' '

sheet_1['D1'] = ' '

sheet_1['E1'] = ' '

#写入你的表头名称

以上就是Excel文件的写入啦!如想批量写入,只需加上一个for循环即可。

02

批量获取Excel文件

在上面我们已经学会如何读取和写入Excel文件了,但是在读取文件名的时候,我们还是需要手动输入的,如果文件很多的话,我们要一个一个的输入,这不仅麻烦,而且也不符合自动化办公的名头。所以,我们就需要想办法取得该目录下的所以Excel文件。

这里我们用的是Pathlib库。

取得该目录下所有的xlsx格式文件

path = 'K:\自动化办公'

将该目录下所有文件存储到files列表中。

files = []

p = Path(src_path)

for x in p.iterdir():

  if PurePath(x).match('*.xlsx'):

      files.append(x)

03

小结

批量合并Excel文件的思路是:

1. 获取该目录下所有的Excel文件,并存入一个列表中。

2. 创建好汇总的Excel文件。

3. 依次读取Excel文件,并写入汇总文件中。

4. 保存汇总文件。

你可能感兴趣的:(教你如何快速合并内容相似的Excel文件)