我想使用python将'Sheet1'中的数据转移到工作表'Sheet2'中。使用python.I编写了下面的脚本,但面临着'IndexError:列表索引超出范围'。我知道这不是最好的办法。如果有人能以更有效的方式引导我,我会很感激。我共享Excel中的快照文件如下如何将数据从一个工作表传输到另一个在同一工作簿中使用python?
我可以直接进入“工作表Sheet1”单元格的值--->“Sheet2的”单元格的值,而不是做“工作表Sheet1”单元格的值--->列表--- - >'Sheet2'单元格值?
import openpyxl
wb = openpyxl.load_workbook('C:\Users\laban\Desktop\Par-emails1.xlsx')
type(wb)
wb.get_sheet_names()
sheet = wb.get_sheet_by_name('Sheet1')
type(sheet)
anotherSheet = wb.active
sheet1 = wb.get_sheet_by_name('Sheet2')
type(sheet1)
par=[sheet.cell(row= col, column=1).value for col in range(1, 2450)]
email_no=[sheet.cell(row= col, column=2).value for col in range(1, 2450)]
Domain=[sheet.cell(row= col, column=3).value for col in range(1, 2450)]
email=[sheet.cell(row= col, column=4).value for col in range(1, 2450)]
for x in range(0,2450):
if email_no[x]<9:
sheet1.cell(row= x+1, column=1).value=par[x]
sheet1.cell(row= x+1, column=2).value=email_no[x]
sheet1.cell(row= x+1, column=3).value=Domain[x]
sheet1.cell(row= x+1, column=4).value=email[x]
wb.save('C:\Users\laban\Desktop\Par-emails1.xlsx')
在哪一行你有这个错误吗?错误信息总是伴随代码崩溃的(最新的)行号。它可以在'范围内的x(0,2450)'碰撞吗?记得openpyxl开始于1,而不是0。 – Elmex80s
及其索引在 文件 “C:/Users/laban/Excelpython.py” 崩溃,管线24,在 如果email_no [X] <9: IndexError:列表索引超出范围 –
我怀疑那条线上有'x = 0'。我对吗? – Elmex80s