ValueError:xlrd中以10为底的int()的文本无效:“S”

2024-06-26 13:19:20 发布

您现在位置:Python中文网/ 问答频道 /正文

Python版本:3.8.1

xlrd:1.2.0

格式:.xlsx

我在尝试为excel创建对象时收到以下错误消息

ValueError:以10为基数的int()的文本无效:“S”

源代码:-Sample

from xlrd import open_workbook

class Excellibrary():
    _activesheet = ""
    _filepath = ""

def open_excelsheet(self, filepath):

    Excellibrary._filepath = filepath
    Excellibrary._activesheet = open_workbook(filepath)

run=Excellibrary()
run.open_excelsheet(filepath)

回溯:-

Traceback (most recent call last):
  File "foo\boo\Excellibrary.py", line 117, in <module>
    run.open_excelsheet(
  File "foo\boo\Excellibrary.py", line 14, in open_desired_excel
    ExcelOperations._activesheet = open_workbook(filepath)
  File "foo\boo\Python38-32\lib\site-packages\xlrd\__init__.py", line 130, in open_workbook
    bk = xlsx.open_workbook_2007_xml(
  File "foo\boo\Python38-32\lib\site-packages\xlrd\xlsx.py", line 841, in open_workbook_2007_xml
    x12sheet.process_stream(zflo, heading)
  File "foo\boo\Python38-32\lib\site-packages\xlrd\xlsx.py", line 553, in own_process_stream
    self.do_dimension(elem)
  File "foo\boo\Python38-32\lib\site-packages\xlrd\xlsx.py", line 601, in do_dimension
    rowx, colx = cell_name_to_rowx_colx(
  File "foo\boo\Python38-32\lib\site-packages\xlrd\xlsx.py", line 113, in cell_name_to_rowx_colx
    rowx = int(cell_name[charx:]) - 1
ValueError: invalid literal for int() with base 10: 'S'

只有在手动打开并保存(无编辑)时,我才能为同一excel创建对象。文件中不包含任何公式或宏。我不知道为什么只有当excel保存时,它才会工作,而且绝对没有任何更改

谁能帮我一下,问题可能在哪里

注意:由于安全原因,我无法共享原始excel文件


Tags: inpyfooliblineopenxlsxexcel