Python:打开现有Excel文件并计算工作表中的行数

2024-01-11

我有一个现有的 Excel 文件。我想加载该文件并获取此表中的行数,以便稍后写入此表的下一行并再次保存。我收到以下错误消息:

AttributeError: 'Worksheet' object has no attribute 'nrows'

但显然这种方法是存在的,因为每个人都在用它来计数。 我写的代码看起来像这样:

def write_xls_result(test_case):
    testCase = re.sub("/", "_", test_case)
    automation_report = os.path.expanduser("~/Library/pathtofile/UITests.xctest/Contents/Resources/Automation_Result.xls")
    if os.path.isfile(automation_report):

        w = copy(open_workbook(automation_report))
        copy_sheet = w.get_sheet(0)
        col_width = 256 * 30

        try:
            for i in itertools.count():
                copy_sheet.col(i).width = col_width
        except ValueError:
            pass

        for row in range(copy_sheet.nrows):
             print '{} {}'.format("Row COUNT",copy_sheet.nrows)

        row_index = 10
        copy_sheet.write(row_index,0, testCase)
        w.save('Automation_Result.xls')
        row_index += 1
        print '{} {}'.format("RRRROOOOWWWWW",row_index)

    else:

所以我也尝试了一种不同的方法:

def write_xls_result(test_case):
    testCase = re.sub("/", "_", test_case)
    automation_report = os.path.expanduser("~/Library/pathtofile/UITests.xctest/Contents/Resources/Automation_Result.xls")
    if os.path.isfile(automation_report):
        workbook = xlrd.open_workbook(automation_report)
        result_sheet = workbook.get_sheet(0)
        rowcount = result_sheet.nrows
        print '{} {}'.format("Row COUNT",rowcount)

        col_width = 256 * 30

        try:
            for i in itertools.count():
                result_sheet.col(i).width = col_width
        except ValueError:
            pass

        row_index = 10
        result_sheet.write(row_index,0, testCase)
        workbook.save('Automation_Result.xls')
        row_index += 1
        print '{} {}'.format("RRRROOOOWWWWW",row_index)

    else:

我收到此错误:

raise XLRDError("Can't load sheets after releasing resources.")
xlrd.biffh.XLRDError: Can't load sheets after releasing resources.

我对Python还是个新手,也许我只是做错了什么。一些帮助或提示会很好。 谢谢


您的顶级代码要么以不同的方式运行,要么缺少xlrd的一部分xlrd.open_workbook...

您可以获得result_sheet使用以下方法就不会出现该错误:

result_sheet = workbook.sheet_by_index(0)

(我尝试时遇到错误.get_sheet)

你使用什么库?只是xlrd?我没有看到.width列的属性(至少在我的示例中,它是类型list),并且不确定您正在使用这部分代码做什么。

您是否总是想将找到的行数写入第 10 行?该数字永远不会以功能方式索引,并且 else 之前的最后一行总是会打印11.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:打开现有Excel文件并计算工作表中的行数 的相关文章

  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • Python 多处理示例不起作用

    我正在尝试学习如何使用multiprocessing但我无法让它发挥作用 这是代码文档 http docs python org 2 library multiprocessing html from multiprocessing imp
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 我如何以更好的方式编码而不是像这样的VBA编码

    我正在 Excel 中创建一个仪表板 但是我想知道是否有比这更好的编码方式 我想对其进行模块化 而不是这样做以使其更加整洁 Private Sub Afford If af Value True Then af afr Value Shee
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 在VBA中初始化全局变量

    在 Excel 2003 中 如何声明全局变量并仅在打开工作簿时初始化它们一次 我有一些由几个宏使用的参数 基本上是输入文件的路径 目前 我的代码如下所示 global path1 path2 as string sub initPaths
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像

随机推荐

  • 调整大小期间不要重新绘制窗口

    我的 QML 应用程序 Qt 5 4 基于Window物品 用户可以调整应用程序的大小 当应用程序调整大小时 应用程序的内容也会分别调整大小 使用onWidthChanged and onHeightChanged 这一切都很好 但为了避免
  • 将函数中的变量传递给 R 中的其他函数变量

    我正在尝试传递一个变量Phyla 这也是感兴趣的 df 列的名称 到其他函数中 但是我收到错误 Error Column税级is unknown 我明白了 在函数中声明您想要使用一次的列会更方便 因为这也会在脚本中重复多次 我尝试过使用OT
  • 在 Java 中缩短已经很短的字符串

    我正在寻找一种方法来尽可能缩短已经很短的字符串 该字符串是主机名 端口组合 可能看起来像 我的域名 se 2121 or 123 211 80 4 2122 我知道由于所需的开销和缺乏重复 对于这么短的字符串来说常规压缩几乎是不可能的 但我
  • 查找由 fmemopen 创建的文件的大小

    我在用着fmemopen创建一个变量FILE fid将其传递给从打开的文件读取数据的函数 在该函数的某处 它使用以下代码来查找文件的大小 fseek fid 0 SEEK END file size ftell fid 这对于常规文件来说效
  • Android:如何在设备上安装apk,而不使用android sdk工具

    我已将我的应用程序构建到签名的 SDK 中 我希望 beta 测试人员能够在他们的设备上安装它 而无需安装和使用 android sdk 工具 我意识到 apk 可以使用命令行工具安装 但希望没有必要 我尝试手动安装它 但失败了 我有一台
  • 去除 Chrome 和 Safari 浏览器中 html5 视频顶部和底部的黑条

    我正在使用 html5 视频 在 FireFox 中它运行良好 但在 chrome 和 safari 中 它显示顶部和底部的粗黑条 如何摆脱这个酒吧 代码
  • 如何正确清理 docker devicemapper 文件夹?

    我有一些关于存储的问题 文件夹 var lib docker devicemapper 占用了我 50 的存储空间 在文件夹中 var lib docker devicemapper mnt 我有很多空文件夹 如何正确清理 docker设备
  • 无法在辅助接口上接收 UDP/IPv6 数据包

    我有以下用于 UDP 服务器的 C 代码 它将绑定到辅助接口 tap0 的 ipv6 地址 context t new context const struct sockaddr listen addr size t addr size c
  • 如何从另一个闪亮模块更新闪亮模块中的输入?

    我有两个闪亮的模块 updateTextInput in the first一 我要更新textInput in the second模块 当按钮从first被点击 我知道这是因为这些模块位于不同的命名空间中 但我不知道如何通信模块 代表如
  • Neo4j 导入本地 CSV 文件

    我正在尝试导入本地 csv 文件 但出现 InvalidSyntax 错误 LOAD CSV WITH HEADERS FROM file C csv user csv 无效输入 第 1 行第 35 列 偏移量 34 从文件中加载带有标题的
  • 开始对计算机以外的其他东西进行编程的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在计算机之外开始编程的最佳方法是什么 我指的不是带有 API 的手机之类的主流产品 请假设具备 C C 的工作知识 我投票给任天堂 DS 不错的
  • *移动消除*插槽在 Intel CPU 中如何工作?

    安德烈亚斯 阿贝尔和简 雷内克讨论移动消除 in 他们的论文描述了 uCA https dl acm org doi pdf 10 1145 3524059 3532396 4 1 4 移动消除 然而 这一招消除并不总是成功的 我们开发了微
  • vgl.h 丢失 - OpenGL

    我已经开始阅读 OpenGL 红皮书 他们写道我们需要 freeglut 库 好的 到目前为止已经了解了 但它们包含了 vgl h 和 LoadShaders h 它不包含在freeglut中 我在哪里可以找到它们 转到这个weppage
  • 库(knitr)库(knitr)中的错误:没有名为“knitr”的包

    我正在尝试获取 knitr 包 但出现错误 它跑了很多包然后说 install packages 中的警告 从 zip 文件中提取时写入错误 install packages 中的警告 从 zip 文件中提取时写入错误 install pa
  • 错误:未编译的 PNG 文件作为参数传递。必须先编译成 .flat 文件

    在react native中 我试图按照他们的要求生成签名的APK指示 https facebook github io react native docs signed apk android html 但是当我执行这个 gradlew
  • C#:尽可能高效地将大量文件放入 DVD 的代码

    我需要编写一个应用程序 它将获取文件列表 有些大 有些小 并尽可能有效地将它们放入 DVD 或 CD 或其他 上 此应用程序的全部要点是在移动到第二个圆盘之前用尽第一个圆盘的所有内容 在移动到第三个圆盘之前尽可能多地填充第二个圆盘 等等 注
  • 如何将 X11 KeySym 映射到 Unicode 字符?

    这是一个完全相同的副本这个问题 https stackoverflow com questions 1268600 how do i map an x11 keysym to a unicode character 然而 已接受答案中链接的
  • WatchKit 上的计时器不会每秒触发

    这个计时器并不是每秒触发一次 当我检查日志和 UI 时 它似乎每 3 4 秒触发一次 func startTimer print start timer timer Timer scheduledTimer timeInterval 1 t
  • 在 Sh/Bash 和 php 中解析配置参数的最佳/最简单方法

    我在每个 php 项目 大约 25 个 中都有一些 sh 脚本 它们可以帮助我完成日常任务 例如部署 存储库同步 数据库导出 导出等 我管理的所有项目的 sh 脚本都是相同的 因此必须有一个配置文件来存储取决于项目的不同参数 example
  • Python:打开现有Excel文件并计算工作表中的行数

    我有一个现有的 Excel 文件 我想加载该文件并获取此表中的行数 以便稍后写入此表的下一行并再次保存 我收到以下错误消息 AttributeError Worksheet object has no attribute nrows 但显然