Python没有打印足够的列

时间:2018-07-02 23:39:45

标签: python openpyxl

我有3列需要打印的数据,代码,行情和部门。这行代码是问题所在,它只是给我第一栏。我尝试将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]

1 个答案:

答案 0 :(得分:0)

您只能为第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