赞
踩
最近学习了python遍历目录,下面这篇文章主要给大家介绍了关于Pandas快速合并多张excel表格的两种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
最近用Pandas合并表格,发现效率非常高,现总结以下两种方法:
import
pandas as pd
path
=
'C:/Users/admin/Downloads/'
#excel表格所在文件路径
df
=
[]
#创建一个空的列表
for
i
in
range
(
1
,
11
):
#excel表格的名字里面包含1-10
path
=
path
+
'excel表格名称{}.xlsx'
.
format
(i)
df.append(pd.read_excel(path))
#读取文件夹下所有excel文件
df_concat
=
pd.concat(df)
#excel文件合并
df_concat.to_excel(
'C:/Users/admin/Downloads/合并结果.xlsx'
,index
=
None
)
#合并结果存储
二、Excel表格文件名不规律的情况下
1.首先将所有excel表格放到一个文件夹下面
2.用pandas进行合并
import
pandas as pd
import
os
dirs
=
'C:/Users/admin/Downloads/'
#excel表格所在文件路径
df
=
[]
#创建一个空的列表
for
filename
in
os.listdir(dirs):
#获取文件夹下所有excel表格
if
filename.endwith(
'.xlsx'
):
path
=
dirs
+
filename
df.append(pd.read_excel(path))
#读取文件夹下所有excel文件
df_concat
=
pd.concat(df)
#excel文件合并
df_concat.to_excel(dirs
+
'{}.xlsx'
.
format
(
'合并结果'
),index
=
None
)
#合并结果存储
三、身份证号合并乱码解决
1.对身份证号码合并的时候,会因为编码方式出现乱码,通过表格存储过程中编码方式也无法解决,下面提供一种方式可以完美解决。
data
=
pd.read_excel(
'C:/Users/admin/Downloads/file.xlsx'
,index
=
None
,converters
=
{
'身份证号码'
:
str
})
#data['身份证号码'] = data['身份证号码'].apply(lambda x:"\t"+x)
data.to_excel(
'需要保存的文件路径/file.xlsx'
,encoding
=
'gbk'
,index
=
None
)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。