首页 > 解决方案 > Python没有打印足够的列

问题描述

我有 3 列数据需要打印出来,代码、emps 和部门。这行代码是问题所在,它只给了我第一列。我尝试将 row[0] 更改为 row[0,1,2] 但没有运气。如何获得所有 3 列?我也将其更改为 row[2],然后它只给了我扇区的最后一列。

谢谢

ws1.cell(row=index+1, column=1).value = row[0]

代码

tickers = driver.find_elements_by_css_selector('a.tv-screener__symbol') 
emps = driver.find_elements_by_xpath('//tbody/tr/td[10]')
sectors = driver.find_elements_by_xpath('//tbody/tr/td[11]')

wb = load_workbook(filename='C:\\Users\\Jake\\Wonder.xlsm',
read_only=False,keep_vba=True)
ws1 = wb.active

for index in range(len(tickers)):
   row = [tickers[index].text, emps[index].text, sectors[index].text]
   ws1.cell(row=index+1, column=1).value = row[0]

标签: pythonopenpyxl

解决方案


您只能为第 1 列分配一个值。将所需的值分配给第 2 列和第 3 列。

ws1.cell(row=index+1, column=1).value = row[0]
ws1.cell(row=index+1, column=2).value = row[1]
ws1.cell(row=index+1, column=3).value = row[2]

或者更直接地,摆脱row = [...]并直接分配它们。

ws1.cell(row=index+1, column=1).value = tickers[index].text
ws1.cell(row=index+1, column=2).value = emps[index].text
ws1.cell(row=index+1, column=3).value = sectors[index].text

推荐阅读