发布时间:2021-01-20
大家好,我是慕研数所的分析师小七,在日常工作中经常会用到数据分析与统计工作,而在实施数据分析之前,最为重要的就是数据的搜集和整理工作。最近工作室新来的一个小伙伴在工作中遇到这样一个问题,他要将100个门店的数据合并成一个excel(如图表1),少量的excel文件表手动合并还勉强可以,但100个excel手动合并当然是不现实的,而且费时间,这时候就需要采取别的方法,比如使用python,R语言等等,让计算机自动合并处理,帮助我们完成工作,我想到python有很多模块可以操作excel,所以我教给了小伙伴使用python的方法解决这个问题,通过写python语句来完成合并100个门店数据的工作。
他搜集的数据表结构都是一样的(如图表2),这样操作就更加简单了。(这里可以注意一下一个excel表的数据大概93行,留个印象,与最终合并的excel比较)
图表 1 图表 2
1、 打开python的编辑器pycharm,创建一个新文件(没有下载python的小伙伴可以去官网下载哦https://www.python.org/)
2、 利用python pandas & os库批量合并多个excel表,导入pandas和os库
pandas库是用python语言分析数据的的好工具,它是一个专门用于数据分析的开源python库;os 模块则提供了非常丰富的方法用来处理文件和目录。
3、 打开文件,读取文件到DataFrame结构中
Python最为基础的概念就是数据框(DataFrame),它是一个两维表格状数据结构,行和列都有标签,可以将DataFrame理解为一个容器。
os.listdir(path)的用法:得到路径path下的所有文件,然后返回list列表。
4、 输出所有文件和文件夹
4.1 pandas模块读取文件
read_csv(),读取带有分隔符的数据,默认分隔符是逗号,返回一个数据框。
read_excel(),默认分隔符是逗号。
这里文件是csv格式,所以使用read_csv()将csv文件读入并转化为DataFrame。
4.2 pd.concat()函数
pd.concat( objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True,)
pd.concat()函数可以沿着指定的轴将多个DataFrame拼接到一起。
利用for循环,读取每一个文件,作为df,然后再通过pd.concat拼接起来,最后将文件读到CSV中去,如图表3所示
图表 3
print()函数:用于打印输出,是python中最常见的一个函数。
print打印测试,没有出现错误,呈现效果如图表4所示
图表 4
5、 导出到新建的data表
存储函数为pd.DataFrame.to_excel()(必须是DataFrame写入excel),这里新建一个data表,将合并的数据最终导出到以data命名的excel表中。如图表5所示:
图表 5
最后我们找到python的文件储存目录,就能看到合并的data文件了,如图表6
图表 6
我们可以打开检查看一下,是否真的将100个excel表合并成功了,冻结首行,看最后一行数据(快捷键:Ctrl+↓),如图表7所示
图表 7
以上就是python合并多个excel文件的整个过程了,完整代码如下:
这是一个追求效率的时代,不断提升自己的工作能力,这才是最根本的。学习更多的技能,用快捷的方法把工作高效完成。
今天的分享就到这里了,有兴趣的伙伴试试吧,谢谢大家观看!