第一次 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 也是很棒的库。
我确实喜欢一次性使用旧版本的解决方法,但如果这是长期存在的东西或将来引用新代码,你可能最好换一个不同的图书馆。
我需要制作一个 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 也是很棒的库。
我确实喜欢一次性使用旧版本的解决方法,但如果这是长期存在的东西或将来引用新代码,你可能最好换一个不同的图书馆。