如何解决使用Selenium与Pandas时的空行问题?
问题出在循环里重复写入Excel
你把写入Excel的代码放进了循环内部,每次循环都重新生成DataFrame并覆盖文件。第一次循环写1行,第二次写2行,反复写入的操作会导致Excel出现空行,而且这种写法完全没必要,纯纯浪费性能。
修复后的代码
# 先初始化空列表用来存链接 links = [] grupos = driver.find_elements(By.CLASS_NAME, "_7hkg") for elm in grupos: link = elm.get_attribute("href") # link = elm.get_attribute("href").replace("m.","") print(link) links.append(link) # 等所有链接收集完成后,一次性写入Excel data = {'URL': links} df = pd.DataFrame(data) # 加上index=False,避免把DataFrame的索引列写入表格 df.to_excel(r"C:\__Imagens e Planilhas Python\LinksGrupo.xlsx", engine='xlsxwriter', index=False) print(df)
优化说明
- 循环只负责收集链接,写完循环再统一处理写入,彻底避免反复操作文件导致的异常。
- 添加
index=False参数,能去掉Excel里多余的索引列,让表格更整洁。
内容的提问来源于stack exchange,提问作者Felipe
相关产品推荐
相关产品推荐

