import openpyxl from openpyxl.styles import Font, PatternFill # 打开Excel文件 workbook = openpyxl.load_workbook('your_file.xlsx') # 选择工作表 worksheet = workbook['your_sheet'] # 获取表格比例列数据 data = [] for row in worksheet.iter_rows(min_row=2, values_only=True): value = row[1] / row[2] # 第2列除以第3列得到比例 data.append(value) # 设置目标比例 target_ratio = 0.8 # 遍历比例数据,并标记高于目标比例的单元格 for i, value in enumerate(data): cell = worksheet.cell(row=i+2, column=4) # 在第4列写入标记 if value > target_ratio: # 设置黄色字体和红色单元格背景 font = Font(color='FFFF00') # 黄色字体 fill = PatternFill('solid', fgColor='FF0000') # 红色单元格背景 cell.font = font cell.fill = fill # 保存Excel文件 workbook.save('your_file.xlsx') 代碼報錯TypeError: unsupported operand type(s) for /: 'str' and 'str'
时间: 2024-03-28 08:41:54 浏览: 152
ReadWriteExcelDlg.zip_VC excel_c++打开Excel_excel vc++_vc打开文件_读exc
这个错误提示表示你在代码中使用了字符串类型的变量进行了除法运算,而字符串类型不能用于数学计算。你需要确保在进行除法运算之前,将字符串类型的变量转换为数值类型(比如整数或者浮点数)。你可以使用 `float()` 函数将字符串转换为浮点数,或者使用 `int()` 函数将字符串转换为整数。例如,你可以修改代码中的这一行:
```
value = row[1] / row[2]
```
为:
```
value = float(row[1]) / float(row[2])
```
这样就能够将字符串类型的变量转换为浮点数类型,从而避免这个错误。
阅读全文