日常在处理数据时,数据表格常常以固定的格式,这些表格都具有相同的列名,通过对数据表进行整合,可以极大的提高我们的工作效率。
本节使用两种方法对于表格批量处理,一种是常规的菜单式法,另一种是写代码的方法,通过写代码的方式批量合并表格,这样的方法简单高效,合并数据表后,可以进行下一步的数据分析。
一、菜单式法
这种方法适用于小的数据量,数据量大的时候,打开一个EXCEL表格就已经很费时间了,针对小的数据量的合并,比如本文的data文件夹下是9月份一个月的数据,可以新建一个EXCEL表格,点击数据>获取数据>自文件>从文件夹,点击组和,即可对于数据表进行批量合并。
二、python批量合并表格
另一种方法是写代码的方式,适用于数据量比较大的批量数据,借助Python中的两个标准库pandas和os库,下面先了解一下这两个库的作用。
Pandas
- pandas是python的一个数据分析包
- pandas是基于NumPy 解决数据分析任务的一种工具
- pandas 纳入了大量库和一些标准的数据模型
- pandas提供了高效地操作大型数据集所需的工具
Os库
- os库提供通用的、基本的操作系统交互功能
- os库包含路径操作、进程管理、环境参数等处理函数
下面实际运用代码进行批量处理表格数据。
第一步、导入批量处理数据所需的Python标准库。
# 导入库
import pandas as pd
import os
第二步、设置待读取文件夹、待保存的文件夹以及待保存的表格名。
# 待读取批量csv的文件夹
read_path = 'C:\\Users\\shangtianqiang\\Desktop\\data'
# 待保存的合并后的csv的文件夹,在路径自己建立一个data_merge文件夹
save_path = 'C:\\Users\\shangtianqiang\\Desktop\\data_merge'
# 待保存的合并后的表格名
csvsave_name = 'hebing.csv'
第三步、借助os库修改当前工作目录。
#修改当前工作目录
os.chdir(read_path)
第四步、将该文件夹下的所有文件名存入一个列表。
#将该文件夹下的所有文件名存入一个列表
file_list = os.listdir()
第五步、读取第一个CSV文件并包含表头,注意数据的编码方式。
#读取第一个CSV文件并包含表头
df = pd.read_csv(read_path +'\\'+ file_list[0],encoding = 'gbk') #编码默认UTF-8,若乱码自行更改为gbk
第六步、将读取的第一个CSV文件写入合并后的文件保存。
#将读取的第一个CSV文件写入合并后的文件保存
df.to_csv(save_path+'\\'+ save_name,encoding="utf_8_sig",index=False)
第七步、循环遍历列表中每一个表格的文件名,并且逐个追加到合并后的文件夹内,这里已经导入了第一个表格的数据,所以,这里FileStart=1,而不是FileStart=0。
#循环遍历列表中各个CSV文件名,并追加到合并后的文件
FileStart = 1
FileEnd = len(file_list)
for i in range(FileStart,FileEnd):
df = pd.read_csv(read_path + '\\'+ file_list[i],encoding = 'gbk') # 编码默认UTF-8,若乱码自行更改为gbk
df.to_csv(save_path+'\\'+ save_name,encoding="utf_8_sig",index=False, header=False, mode='a+')
这里逐一演示代码的运行,可以调试完毕后,将代码封装在一起,针对大批量的数据,这个方法既快捷,又高效。
标签:数据分析,批量,表格,Python,文件夹,path,csv,os From: https://blog.51cto.com/u_15828536/5839651