python表格数据拼接_python合并几个表格的方法

5eba3f40decde452.jpg

python合并单元格代码如下:import xlrd

import xlsxwriter

import glob

biao_tou = "NULL"

wei_zhi = "NULL"

#获取要合并的所有exce表格

def get_exce():

global wei_zhi

wei_zhi = input("请输入Exce文件所在的目录:")

all_exce = glob.glob(wei_zhi + "*.xlsx")

print("该目录下有" + str(len(all_exce)) + "个exce文件:")

if(len(all_exce) == 0):

return 0

else:

for i in range(len(all_exce)):

print(all_exce[i])

return all_exce

#打开Exce文件

def open_exce(name):

fh = xlrd.open_workbook(name)

return fh

#获取exce文件下的所有sheet

def get_sheet(fh):

sheets = fh.sheets()

return sheets

#获取sheet下有多少行数据

def get_sheetrow_num(sheet):

return sheet.nrows

#获取sheet下的数据

def get_sheet_data(sheet,row):

for i in range(row):

if (i == 0):

global biao_tou

biao_tou = sheet.row_values(i)

continue

values = sheet.row_values(i)

all_data1.append(values)

return all_data1

if __name__=='__main__':

all_exce = get_exce()

#得到要合并的所有exce表格数据

if(all_exce == 0):

print("该目录下无.xlsx文件!请检查您输入的目录是否有误!")

os.system('pause')

exit()

all_data1 = []

#用于保存合并的所有行的数据

#下面开始文件数据的获取

for exce in all_exce:

fh = open_exce(exce)

#打开文件

sheets = get_sheet(fh)

#获取文件下的sheet数量

for sheet in range(len(sheets)):

row = get_sheetrow_num(sheets[sheet])

#获取一个sheet下的所有的数据的行数

all_data2 = get_sheet_data(sheets[sheet],row)

#获取一个sheet下的所有行的数据

all_data2.insert(0,biao_tou)

#表头写入

#下面开始文件数据的写入

new_exce = wei_zhi + "test.xlsx"

#新建的exce文件名字

fh1 = xlsxwriter.Workbook(new_exce)

#新建一个exce表

new_sheet = fh1.add_worksheet()

#新建一个sheet表

for i in range(len(all_data2)):

for j in range(len(all_data2[i])):

c = all_data2[i][j]

new_sheet.write(i,j,c)

fh1.close()

#关闭该exce表

print("文件合并成功,请查看“" + wei_zhi + "”目录下的test.xlsx文件!")

os.system('pause')

os.system('pause')

程序使用说明:

(1) 运行”Exce表格合并.exe”文件

(2) 输入要合并的所有.xlsx表格文件所在的盘目录**(注意不要输错目录,输错目录或者乱输入则直接强制退出)**

(3) 输入完按回车后程序自动执行,生成test.xlsx文件

注意:如果原来就存在test.xlsx文件,必须先删除,不然合并后的数据会保存在原来的test.xlsx文件,并且程序会一闪而过

更多Python知识请关注Python视频教程栏目。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值