C:\Users\huawei\PycharmProjects\python.exe C:\Users\huawei\PycharmProjects\pythonProject4\识别文字.py Traceback (most recent call last): File "C:\Users\huawei\PycharmProjects\pythonProject4\识别文字.py", line 23, in <module> wb.save('output.xlsx') File "C:\Users\huawei\AppData\Roaming\Python\Python311\site-packages\openpyxl\workbook\workbook.py", line 386, in save save_workbook(self, filename) File "C:\Users\huawei\AppData\Roaming\Python\Python311\site-packages\openpyxl\writer\excel.py", line 291, in save_workbook archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\huawei\PycharmProjects\Lib\zipfile.py", line 1284, in __init__ self.fp = io.open(file, filemode)
时间: 2023-07-22 16:10:35 浏览: 136
这个错误是由于尝试保存Excel文件时,文件路径效导致的。根据错误信息,无效的文件路径是`output.xlsx`。
请确保您提供的文件路径是有效的,并且您有权限在该位置创建和保存文件。您可以尝试使用绝对路径来保存文件,或者确保当前工作目录是正确的。
以下是一个示例代码,使用绝对路径保存文件:
```python
import pytesseract
from PIL import Image
import openpyxl
import os
# 读取图片
image = Image.open('input.png')
# 使用pytesseract进行文字识别
text = pytesseract.image_to_string(image)
# 创建一个新的Excel文件,并获取活动工作表
wb = openpyxl.Workbook()
ws = wb.active
# 将识别后的文字按行分割,并写入Excel中
rows = text.split('\n')
for i, row in enumerate(rows):
# 按列分割文字,并写入单元格
columns = row.split('\t')
for j, col in enumerate(columns):
# 替换非法字符为合法字符
col = col.replace('\x0c', ' ')
ws.cell(row=i+1, column=j+1).value = col
# 保存Excel文件
output_path = os.path.abspath('output.xlsx')
wb.save(output_path)
print(f"Excel文件已保存到:{output_path}")
```
在上述代码中,我们使用`os.path.abspath`函数获取`output.xlsx`文件的绝对路径,并将其赋值给`output_path`变量。然后,我们使用该绝对路径保存Excel文件,并打印保存的文件路径。
请确保输入的图片和保存的文件路径正确,并且您有权限在该位置创建和保存文件。如果仍然遇到问题,请提供更多的错误信息以供参考。
阅读全文