使用上面的代码报错 new_sheet.append([old_sheet.cell(row=i, column=1).value, row[1], row[2], old_sheet.cell(row=i, column=3).value]) IndexError: tuple index out of range
时间: 2023-06-08 08:07:04 浏览: 66
这个错误通常出现在您使用元组或列表访问非存在的索引时,导致超出范围。对于您给出的代码,错误出在 row 变量中。它可能是因为 row 变量的长度小于 3,在访问 row[2] 时抛出此错误。请检查您的代码,确保 row 变量中至少有 3 个元素。您还可以用 print(row) 来输出 row 的值,以检查它的长度是否正确。
相关问题
Python实现创建一个新的excel,有4列,第1行分别为主线、Y、X、副线,查找原excel表中的第二列具有相同值的对应的第一列的单元格,将对应的第一个单元格值写入新excel的主线列,其他的单元格值依次写入副线列
您好,根据您的要求,以下是实现创建新的Excel表格并进行数据处理的Python代码示例:
```python
import openpyxl
# 创建新的Excel表格
new_workbook = openpyxl.Workbook()
new_sheet = new_workbook.active
# 设置新表格的列名
new_sheet['A1'] = '主线'
new_sheet['B1'] = 'Y'
new_sheet['C1'] = 'X'
new_sheet['D1'] = '副线'
# 打开原Excel表格
old_workbook = openpyxl.load_workbook('原Excel表格.xlsx')
old_sheet = old_workbook.active
# 遍历原表格的每行数据
for row in old_sheet.iter_rows(min_row=2, min_col=1, values_only=True):
y_value = row[1]
# 查找原表格中第2列具有相同值的第1列单元格
for i in range(2, old_sheet.max_row + 1):
if old_sheet.cell(row=i, column=2).value == y_value:
new_sheet.append([old_sheet.cell(row=i, column=1).value, row[1], row[2], old_sheet.cell(row=i, column=3).value])
# 保存新Excel表格
new_workbook.save('新Excel表格.xlsx')
```
上面的代码中,我们首先使用 openpyxl 包中的 `Workbook()` 函数创建一个新的 Excel 表格,并设置每列的列名。然后使用 `load_workbook()` 函数打开原 Excel 表格,并使用 `iter_rows()` 函数遍历每行数据。在遍历过程中,我们先取得当前行第2列的值 `y_value`,并在原表格中查找第2列具有相同值的所有行,将对应的第1列和第3列的值以及当前行的第2列值分别写入新表格的不同列。
最后使用 `save()` 函数保存新 Excel 表格即可。注意,在实际使用中,需要将代码中的 `原Excel表格.xlsx` 和 `新Excel表格.xlsx` 替换成实际的文件名和路径。
阅读全文
相关推荐








