【问题标题】:Python Selenium - Write data table in excel filePython Selenium - 在excel文件中写入数据表
【发布时间】:2020-09-15 17:24:05
【问题描述】:

我需要在excel文件中写一个数据表。这个数据表有7行1列,所有的值都不一样。我的问题是只有最后一行写在 excel 文件中。

我在excel中需要什么:

FT 202003/69362
FT 202003/62581
FT 202003/41307
FT 202003/32316
FT 202003/4664
FT 201903/215090
FT 201903/197043

excel中发生了什么:

FT 201903/197043
FT 201903/197043
FT 201903/197043
FT 201903/197043
FT 201903/197043
FT 201903/197043
FT 201903/197043

我的代码:

faturas = driver.find_elements_by_xpath("//p[@class='text-description-small']//b[contains(text(),'FT')]")
    totalfaturas = len(faturas)
    for i in range(totalfaturas):
        fat = faturas[i].text
        print(fat)

    from openpyxl import *

    nf = load_workbook("C:\WebDrivers\Fatturas.xlsx")
    nf1 = nf.active
    for n in range(1, totalfaturas+1):
            nf1.cell(row=n,column=1).value=fat
            nf.save("C:\WebDrivers\Fatturas.xlsx")

我可以用python打印正确的数据表,但是我不能用excel写这个数据表。你能帮帮我吗?

【问题讨论】:

  • nf1.cell(row=n,column=1).value=fat => 这是错误的。为什么在这里使用fat?就像你在上面的循环中做的一样,动态地:)
  • 感谢您的回答!你能具体点吗?我不明白我应该如何使用它...

标签: python excel selenium datatable


【解决方案1】:

改变这个:

for i in range(totalfaturas):
    fat = faturas[i].text
    print(fat)

到:

fat_list=[]
for fat in faturas:
    fat_list.append(fat.text)
    #print(fat.text)

然后,改变这个:

for n in range(1, totalfaturas+1):
        nf1.cell(row=n,column=1).value=fat
        nf.save("C:\WebDrivers\Fatturas.xlsx")

到:

for item in fat_list:
    nf1.cell(row=fat_list.index(item)+1,column=1).value=item
    nf.save("C:\WebDrivers\Fatturas.xlsx")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 2014-10-29
    相关资源
    最近更新 更多