python合并excel文件,并将文件名作为新的一列

工作需要,有多个以日期命名的excel文件,需要把这些文件里的数据合并,而且需要保存日期这个标签。
从网上看到了合并excel文件的部分代码(https://www.cnblogs.com/cjsblog/p/9314166.html)在其基础上增加了读取文件和将文件名作为新的一列这些部分。

# -*- coding: utf-8 -*-
"""
Created on Mon Mar  2 10:13:57 2020

@author: weisssun
"""


import os
import xlrd
import xlsxwriter


filePath = r'D:\Python\2020.02'
#需合并的文件所在的文件夹路径

f_name = os.listdir(filePath)
#读取文件夹内所有文件名
#print(f_name)

source_xls= []
for i in f_name:
    source_xls.append(filePath + '\\' + i)
#将文件路径存储在列表中
#print(source_xls)

target_xls = r"D:\Python\合并2020.02.xlsx"
#合并后文件的路径

# 读取数据
data = []
for i in source_xls:
    wb = xlrd.open_workbook(i)
    for sheet in wb.sheets():
        for rownum in range(sheet.nrows):
        #合并excel中的所有数据
            a = sheet.row_values(rownum)
            a.append(i.replace((filePath + '\\'), ''))
            #将文件名做为新的一列
            data.append(a)
            #data.append(sheet.row_values(rownum))
#print(data)
# 写入数据

workbook = xlsxwriter.Workbook(target_xls)
worksheet = workbook.add_worksheet()
font = workbook.add_format({"font_size":14})
for i in range(len(data)):
    for j in range(len(data[i])):
        worksheet.write(i, j, data[i][j], font)
# 关闭文件流
workbook.close()
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值