import xlwings
import pandas
import datetime
# 启动excel程序
app = xlwings.App(visible=True, add_book=False)
# 打开’1.csv‘
workbook = app.books.open(r'D:\公司\逾期\1.csv')
worksheet = workbook.sheets
# 创建一个空DataFrame
table = pandas.DataFrame()
# 遍历当前工作表
for j in enumerate(worksheet):
# 读取当前工作表数据
values = j.range('A1').options(pandas.DataFrame, header=1, index=False, expand='table').value
# 将数据合并到前面创建的DataFrame中
table = table.append(data, ignore_index=True)
# 筛选’当前连续逾期天数‘是'1'的数据
aDay = table[table['当前连续逾期天数'] == '1']
someDay = table[table['当前连续逾期天数'] > '1']
#
# # 获取当天日期
# today=datetime.date.today()
#
# 打开’扫码付逾期‘表格
wbExcel = app.books.open(r'D:\公司\逾期\扫码付逾期.xlsx')
# 在’扫码付逾期‘表里新增工作表,以当天日期作为工作表名
nWorksheet = wbExcel.sheets.add(today)
# 在新工作表中写入筛选值为1的数据
nWorksheet['A1'].options(index=False).value = aDay
# 获取当前工作表数据区域右下角的单元格
lastCell = nWorksheet('A1').expand('table').last_cell
# 获取数据区域最后一行的行号
lastRow = lastCell.row()
# 在新工作表中写筛选值大于1的数据
nWorksheet[str[lastRow] + '3'].options(index=False).value = someDay
wbExcel.save()
app.quit()
for j in enumerate(worksheet):
改成
for i,j in enumerate(worksheet):
或者
for j in worksheet:
xlwings版本更新一下。
enumerate返回的是一个元组,(下标,内容)。
你可以改为j[1],表示内容。
其实你可以for j in worksheet:就行。