第一次 Python 用户对 xlrd 错误感到困惑

First time Python user confused about xlrd error

我需要制作一个 python 脚本,从 excel sheet 的每一行获取 2 条信息并将其粘贴到 txt 文件的特定行(格式化作为 c 文件)。我使用了很多在线资源来创建这个但是遇到了这个错误。我是 Python 的初学者,所以如果您能提供帮助,我将不胜感激。谢谢!

import xlrd
import os.path

from xlrd import sheet

workbook = xlrd.open_workbook(os.path.join('C:\Users\mushtay\Desktop', 'RDMControls_XCP.xlsx'))
worksheet = workbook.sheet_by_name('ShaftSpeed_SWC')

i = 1

while worksheet.cell(0, i).value == xlrd.empty_cell.value:
    exit()
else:
    Xi = sheet.cell(0, i)
    Yi = sheet.cell(8, i)
    i = i + 1

while i > 1:
    with open("C:\Users\mushtay\Desktop\Cal0_ROMVariables.c", "r") as f:
        contents = f.readlines()

    contents.insert(17, "Xi-Yi\n")

    with open("C:\Users\mushtay\Desktop\Cal0_ROMVariables.c", "w") as f:
        contents = "".join(contents)
        f.write(contents)
    i = i - 1

这些是我遇到的错误

"C:\Users\mushtay\Desktop\Python Project\blegh\Scripts\python.exe" C:/Users/mushtay/PycharmProjects/pythonProject/main.py
Traceback (most recent call last):
  File "C:/Users/mushtay/PycharmProjects/pythonProject/main.py", line 7, in <module>
    workbook = xlrd.open_workbook(os.path.join('C:\Users\mushtay\Desktop', 'RDMControls_XCP.xlsx'))
  File "C:\Users\mushtay\Desktop\Python Project\blegh\lib\site-packages\xlrd\__init__.py", line 170, in open_workbook
    raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
xlrd.biffh.XLRDError: Excel xlsx file; not supported

Process finished with exit code 1

试试这个:

pip install xlrd==1.2.0

这对你的问题有好处

https://pypi.org/project/xlrd/

该库只处理 .xls,不处理 .xlsx

建议使用http://www.python-excel.org/寻找替代库。

我是 xlwings 的粉丝,所以我可以将 Python 直接放入我的工作簿中,但是 openpyxl 和 xlsxwriter 也是很棒的库。

我确实喜欢一次性使用旧版本的解决方法,但如果这是长期存在的东西或将来引用新代码,你可能最好换一个不同的图书馆。