使用pandas库完成简单的excel合并操作

使用pandas库完成简单的excel合并操作

import os
import pandas as pd
'''
在程序所在目录创建名为’待合并文本‘的文件夹
将要合并的文件放入创建好的文件夹内
合并后的表格会出现在程序所在的目录下
'''
# try:
#     doc = os.listdir("./待合并文本")
#     f = open('合并文本.txt', 'wb')
#     for i in range(len(doc)):
#         path = './待合并文本/'+doc[i]
#         temp = open(path, 'rb')
#         lines = temp.readlines()
#         try:
#             f.writelines(lines)
#             print('已合并{}个文件'.format(i+1))
#         except:
#             print('合并第{}个文件,失败'.format(i+1))
#     temp.close()
#     print('合并完毕')
#     f.close()
# except:
#     print('文件夹不存在,请在当前目录下建立名为‘待合并文本’文件夹,并将要合并的txt文档放到文件夹内')

'\n在程序所在目录创建名为’待合并文本‘的文件夹\n将要合并的文件放入创建好的文件夹内\n合并后的表格会出现在程序所在的目录下\n'
s = '''
在程序所在目录创建名为’待合并表格‘的文件夹
将要合并的文件放入创建好的文件夹内
合并后的表格会出现在程序所在的目录下
默认跳过第一行标题
'''
print(s)
try:
    dir2 = os.listdir('待合并表格/')
    if len(dir2) <2:
        print('表格数量过少')
    else:
        df = pd.read_excel(io='待合并表格/'+dir2[0],encoding = 'utf-8', header=1)
        df.dropna(inplace = True)
        for i in range(1,len(dir2)):
            path2 = '待合并表格/'+dir2[i]
            df2 = pd.read_excel(path2, endcoding = 'utf-8',skiprows=1, header= 0)
            df2.dropna(inplace = True)
            try:
                df = pd.concat([df,df2], ignore_index = True, axis = 0)
                print('已合并{}个表格'.format(i+1))
            except:
                print('合并第{}个表格时出错'.format(i+1))
        print('完成')
        df.to_excel('合并表格.xls')
except:
    print('文件夹不存在,请在当前目录下建立名为‘待合并表格’文件夹,并将要合并的表格放到文件夹内')
在程序所在目录创建名为’待合并表格‘的文件夹
将要合并的文件放入创建好的文件夹内
合并后的表格会出现在程序所在的目录下
默认跳过第一行标题

已合并2个表格
已合并3个表格
完成
df.head()
number name1 name2 name3 name4 name5 name6 name7 name8 name9 name10
0 1 ab ab ab ab ab ab ab ab ab ab
1 2 bc bc bc bc bc bc bc bc bc b
2 3 cd cd cd cd cd cd cd cd cd cd
3 1 0 1 2 3 4 5 6 7 8 9
4 2 1 2 3 4 5 6 7 8 9 10

你可能感兴趣的:(使用pandas库完成简单的excel合并操作)