massringo 2021-03-04 14:20 采纳率: 46.2%
浏览 437
已结题

使用xlwings筛选excel表格,报错元祖没有range 属性

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()
  • 写回答

3条回答 默认 最新

  • 天际的海浪 2021-03-04 17:38
    关注

    for j in enumerate(worksheet):
    改成

    for i,j in enumerate(worksheet):
    或者
    for j in worksheet:
     

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题