我的艺名

2021-07-05   阅读量: 4255

Python

请问怎么在合并表格时添加一列为原数据表名字啊

import os

import xlrd

import xlwt



filePath = r'L:\周报\6.19-6.25\数据处理'

#需合并的文件所在的文件夹路径


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"L:\周报\合并2021.06.xls"

#合并后文件的路径


# 读取数据

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 = xlwt.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()



写的代码是这些 但总是报错



image.png

60.0000 1 2 关注作者 收藏

评论(2)

hunter.Z
2021-07-08

应该是包版本的问题,xlrd这个读不了xlsx。可以使用openpyxl这个包读写excel文件

0.0000 0 0 回复
啊啊啊啊啊吖
2021-07-08

把需要添加的列写成series,指定index链接,然后以索引的方式直接在后面追加即可

0.0000 0 0 回复

推荐课程