【问题标题】:Add selenium data to excel PYTHON将硒数据添加到excel PYTHON
【发布时间】:2020-08-12 13:38:00
【问题描述】:

我有问题。我有一个代码,它使用硒并从不同的站点获取信息,然后放入一个列表中。而且毕竟python会删除列表中的所有信息,我需要将它们写入excel:

List = []
for values in List:
      ...
      List.append(values)
      List.append(some_information_from_selenium)

在迭代结束时:

List.clear()

我需要在 clear() 之前和 cleat List 之后保存信息,将新信息添加到 excel 中。此迭代有限制 - 100。需要创建一个新的 excel 文件,并向其中添加信息。列表将删除然后追加新信息,此迭代将是 100 次。我将有 18 列和 100 行。我可以使用任何我想要的东西。

:UPD:

还有一个问题:如果我使用

data = pd.DataFrame() 
data({ "Name":List[some_index] 
       "Surname":List[some_index_1] 
        .... }) 
data.to_excel("Excel.xlsx") 

为什么我得到错误'DataFrame' object is not callable,我该如何解决这个问题

【问题讨论】:

  • 很遗憾,您的问题中没有足够的信息/代码来支持您。什么excel文件,数据是怎么写入这个文件的等等……
  • import pandas as pd;df = pd.Dataframe({'data' : List});df.to_excel 但正如@pintxo 所说,请提供minimal reproducible example 并查看How to Ask
  • @Manakin 改变了问题。
  • 为什么在 100 个条目后清除列表?最好使用字典并将每次迭代保存在单独的变量中。

标签: python excel selenium


【解决方案1】:

我不能 100% 确定你想从你的代码中做什么,但不是每次都清除你的列表变量,而是将它保存在某种嵌套集合中。

一个简单的字典就可以了。

from collections import defaultdict

data_dict = defaultdict(list)

for num in range(10,110,10): #call your func in iterations of 10s
    your code
    data_dict[i].append(some_information_from_selenium)

每 10 次迭代都会保存您的嵌套数据。

data_dict[10]

然后您可以将其传递给 pandas。

【讨论】:

  • 嗯,明白了,你能说,如果我使用 data = pd.DataFrame() data({ "Name":List[some_index] "Surname":List[some_index_1] ... . }) data.to_excel("Excel.xlsx") 为什么我得到 'DataFrame' 对象不可调用,我该如何解决这个问题
  • @Kate_Sls 很抱歉,如果您不提供minimal reproducible example,我无法帮助您,我看不到您的数据、您的 ccde 或正在发生的任何事情。
  • 我在我的问题中添加了一些信息。可以查一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多