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()
发布了8 篇原创文章 · 获赞 1 · 访问量 302

猜你喜欢

转载自blog.csdn.net/Sun_Weiss/article/details/104616321
今日推荐