with open('test_result0.txt', 'r',encoding='utf-8') as f, openpyxl.Workbook() as wb: AttributeError: __enter__
时间: 2023-12-14 17:03:27 浏览: 199
java生成excel文件(poi).rar_POI java_java excel_poi EXCEL模板_poi-3.8-
这个错误通常是因为 `openpyxl.Workbook()` 没有返回一个 `with` 上下文管理器。解决方法是将 `openpyxl.Workbook()` 的返回值赋值给一个变量,然后将这个变量用于 `with` 语句。修改后的代码如下:
```python
import openpyxl
# 打开txt文件和Excel文件
with open('test_result0.txt', 'r', encoding='utf-8') as f:
wb = openpyxl.Workbook()
sheet = wb.active
sheet.title = 'Result'
# 逐行读取txt文件并处理
for line in f:
# 将"的tf-idf值为"替换成tab
line = line.replace('的tf-idf值为', '\t')
# 以tab为分隔符,分割字符串并保存到Excel文件中
parts = line.split('\t')
sheet.append([parts[0], float(parts[1])])
# 保存Excel文件
wb.save('result.xlsx')
```
这里将 `openpyxl.Workbook()` 的返回值赋值给 `wb` 变量,然后将这个变量用于 `with` 语句。这样就可以避免上述错误。
阅读全文