我正在尝试使用python将多行写入excel表。当我尝试打印下面的“记录”时,它会给出多行。请告诉我如何将所有行写入excel文件。以下代码只写了一行。
for row in table.findAll('tr', { "class" : "product-row" }):
col = row.findAll('td')
#print(col[0].a.img['src'])
#print(col)
Image = col[0].a.img['src']
Name = col[1].a.text
Width = col[3].text
record = (Image,Name,Width)
book = xlwt.Workbook(encoding="utf-8")
sheet1 = book.add_sheet("Sheet 1")
for col_index, item in enumerate(record):
sheet1.write(i, col_index, item)
book.save("trial1.xls")
#print(record)
由于
答案 0 :(得分:0)
问题应该来自定义book
和sheet1
的行,如果您将这些行移到整个for循环之外并将book.save
移到最后,它应该打印所有条目。
book = xlwt.Workbook(encoding="utf-8")
sheet1 = book.add_sheet("Sheet 1")
i = 0 # define a row counter
for row in table.findAll('tr', { "class" : "product-row" }):
col = row.findAll('td')
Image = col[0].a.img['src']
Name = col[1].a.text
Width = col[3].text
record = (Image,Name,Width)
for col_index, item in enumerate(record):
sheet1.write(i, col_index, item)
i += 1 # <-- increment the row counter
book.save("trial1.xls")
<强> PRE-编辑:强>
根据提供的代码,根据缩进级别,它可能是一些问题之一。
col = row.findAll('td')
的i
显示的代码中未定义 sheet.write(i, col_index, item)
,更多的是注释而不是错误。
如果您更新代码中的缩进,我可以提供更准确的答案。