【问题标题】:for i in range(len(val)): TypeError: object of type 'numpy.int64' has no len()for i in range(len(val)): TypeError: 'numpy.int64' 类型的对象没有 len()
【发布时间】:2018-02-11 13:38:20
【问题描述】:

我正在尝试使用 for 循环将数据从 Excel 电子表格输入到网页上的输入字段。我已经探索了 NaN 值可能是我的错误的罪魁祸首的选项,但是,我使用 df.replace 来解决这个问题。仍然收到错误。一些帮助将不胜感激。我的代码和下面的完整错误。

csv = pd.read_csv('C:\\Users\\Dylan\\Desktop\\6817CleanLeads1.csv')
dot_nums = list(csv.DOTNumber)

for i in (dot_nums):
    entry_box = 
browser.find_element_by_xpath('//[@id="DOTNumber"]/div[1]/input')
    entry_box.send_keys(i)
    browser.find_element_by_link_text("Search").click()

错误:

Traceback (most recent call last):
File "...\test.py", line 45, in <module>
   entry_box.send_keys(i)
File "...\Python36\lib\site-packages\selenium\webdriver\remote\webelement.py", line 349, in send_keys
   {'text': "".join(keys_to_typing(value)),
File "...\Python36\lib\site-packages\selenium\webdriver\common\utils.py", line 150, in keys_to_typing
   for i in range(len(val)):
TypeError: object of type 'numpy.int64' has no len()

【问题讨论】:

  • @cricket_007 我事先通过发送一个没有for循环的随机数进行了测试,它工作正常。
  • 试试:send_keys(i.item)。 (如果它有效,请开始您的启蒙之旅herehere;现在找不到更好的链接)
  • dot_nums 中的数据类型是什么?错误从send_keys 开始,因此无论您通过该循环发送什么都不是正确的类型
  • @sascha TypeError: 'builtin_function_or_method' 类型的对象没有 len()
  • @cricket_007 dot_nums = excel 中的一列数字。最终目标是 for 循环逐个遍历列表,输入每个数字,然后抓取我需要的数据。

标签: python excel pandas selenium numpy


【解决方案1】:

我假设工作表有数字,并且 pd 将其读取为 int64 而不是您想要的字符串。您可能需要的唯一内容如下

entry_box.send_keys(str(i))

【讨论】:

    猜你喜欢
    • 2019-05-23
    • 2022-12-14
    • 2021-02-26
    • 1970-01-01
    • 2021-10-05
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    相关资源
    最近更新 更多