目录
一、背景
在学校里,我们往往会学习很多高深的模型和方法,面试中的考察也屡见不鲜,而到了实际工作中使用频率却相对较低,成天和office厮混。这就是所谓的“面试造火箭,工作拧螺丝”现象。此时,不要灰心,不要难过,记住:我有工资的。
言归正传,用的较多的是excel文件。有时需要批量合并多个格式相同、仅仅是数据不同的文件,如果一直用鼠标点点点,不光浪费时间、消磨热情不说,而且还可能遇到excel文件太大,电脑崩溃的情况,只想go die。
假如Excel欺骗了你,不要悲伤,不要心急,这就是你学的Python派上用场的时候!
和Excel打交道,谁不说一句:pandas yyds!!
二、准备
(一)原料
Excel文件们。长得一模一样的表头,不一样的数据内容。
(二)目的
将上面这些有一样的头的Excel纵向合并起来,保存到一个excel文件里面去。
不要求超链接和数据格式(要求的话去Excel里面调,那是后话)
(三)Python库和函数
1.pandas
pandas处理excel必备,当然还有他的好兄弟numpy。
pd.read_excel
pd.to_excel
pd.read_csv
pd.to_csv
2.glob
glob是python自带的一个操作文件的相关模块。用它可以查找符合特定规则的文件路径名。使用该模块查找文件,只需要用到: “*”, “?”, “[]”这三个匹配符。
”*”匹配0个或多个字符;
”?”匹配单个字符;
”[]”匹配指定范围内的字符,如:[0-9]匹配数字。
ps:正则表达式和匹配符是个好东西,等我下一篇可以好好讲讲(给自己挖坑emmm)~
glob.glob()
3.os
os 模块提供了非常丰富的方法用来处理文件和目录,创建文件夹、改默认路径必备。
os.chdir
os.mkdir
os.remove
4.map()
见以往的文章:
https://blog.csdn.net/crack6677/article/details/105346311
三、程序操作
(一)引入库并更改工作路径
import os
import glob
import pandas as pd
os.chdir(f'D:\合并') #更改工作路径
(二)纵向合并
df = pd.concat(map(pd.read_excel, glob.glob('*.xlsx'))) //合并了合并了
print(df) // 看看数据
df.to_excel('result.xlsx',encoding='gb18030') //保存吧
运行结果部分如下:
结果文件部分如下:
非常棒,这就是我想要的结果。把这些一样的文件纵向合并起来。