def sortCodeUpload(self): self.LogTolog("正在处理地址数据...") filename = self.params[0] xls = ExcelUtil.ExcelUtil() data = xls.readExcel(filename) data.pop(0) filterData = [[str(line[0]), str(line[7]), self.getSortCode(line[7])] for line in data] xls.createExcel("匹配结果.xls".decode().encode("gbk"), filterData) self.LogTolog("匹配完成, 保存在'匹配结果.xls'中")pytho3.10中ExcelUtil报错怎么替换修改
时间: 2024-03-01 19:50:38 浏览: 159
ExcelUtil便捷读取工具 v3.x
在 Python 3.10 中,你可以使用 `openpyxl` 或 `xlrd` 等第三方库来读写 Excel 文件,可以按照如下步骤修改代码:
1. 首先,安装 `openpyxl` 或 `xlrd` 库,你可以使用以下命令安装:
```
pip install openpyxl
```
或
```
pip install xlrd
```
2. 然后,在代码中将导入 `ExcelUtil` 库的语句替换为导入 `openpyxl` 或 `xlrd` 库的语句,具体替换方式如下:
- 使用 `openpyxl` 库的替换方式:
```python
import openpyxl
# 将 ExcelUtil.ExcelUtil() 替换为 openpyxl.load_workbook(),将 readExcel() 替换为 sheet.values
def sortCodeUpload(self):
self.LogTolog("正在处理地址数据...")
filename = self.params[0]
workbook = openpyxl.load_workbook(filename)
sheet = workbook.active
data = list(sheet.values)
data.pop(0)
filterData = [[str(line[0]), str(line[7]), self.getSortCode(line[7])] for line in data]
result_workbook = openpyxl.Workbook()
result_sheet = result_workbook.active
for row in filterData:
result_sheet.append(row)
result_workbook.save("匹配结果.xlsx")
self.LogTolog("匹配完成, 保存在'匹配结果.xlsx'中")
```
- 使用 `xlrd` 库的替换方式:
```python
import xlrd
# 将 ExcelUtil.ExcelUtil() 替换为 xlrd.open_workbook(),将 readExcel() 替换为 sheet.row_values()
def sortCodeUpload(self):
self.LogTolog("正在处理地址数据...")
filename = self.params[0]
workbook = xlrd.open_workbook(filename)
sheet = workbook.sheet_by_index(0)
data = [sheet.row_values(i) for i in range(1, sheet.nrows)]
filterData = [[str(line[0]), str(line[7]), self.getSortCode(line[7])] for line in data]
result_workbook = xlrd.Workbook()
result_sheet = result_workbook.add_sheet("Sheet1")
for i, row in enumerate(filterData):
for j, value in enumerate(row):
result_sheet.write(i, j, value)
result_workbook.save("匹配结果.xls")
self.LogTolog("匹配完成, 保存在'匹配结果.xls'中")
```
以上两种方式均可以实现 Excel 文件读写功能。其中,使用 `openpyxl` 库的代码在读取 Excel 文件时返回的是一个二维列表,而使用 `xlrd` 库的代码返回的是一个包含多个一维列表的列表。根据不同的需求,你可以选择使用不同的库来实现你的功能。
阅读全文