You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Selenium获取表格存CSV时分号分隔无效的问题?

问题原因

你当前的代码把表格的每一行文本当成了DataFrame的单个列,所以调用to_csv时设置sep=';'根本不会生效——因为每行只有一个单元格,自然看不到分号分隔效果,你看到的空格是原表格文本里自带的内容,不是CSV的分隔符。

解决方案

需要先把每行文本拆分成对应表格的多列,再存入DataFrame,最后用分号分隔保存。具体修改如下:

import re
import pandas as pd
from selenium.webdriver.common.by import By

# 获取表格tbody元素
elements_xpach_url = browser.find_element(By.XPATH, '/html/body/div[2]/span[2]/table/tbody[2]')
# 按换行拆分每行文本,过滤空行
rows = [line.strip() for line in elements_xpach_url.text.split('\n') if line.strip()]
# 拆分每行的列(假设原表格列是空格分隔,多个连续空格也处理)
split_rows = [re.split(r'\s+', row) for row in rows]
# 转成DataFrame(此时每行是多列数据)
df = pd.DataFrame(split_rows)
# 保存为分号分隔的CSV
df.to_csv('csv.csv', index=False, header=False, sep=';')

补充说明

  • 如果原表格的列不是用空格分隔(比如制表符),把re.split(r'\s+', row)改成对应的分隔符拆分逻辑即可,比如row.split('\t')。
  • 过滤空行是为了避免生成无效的空行数据。

内容的提问来源于stack exchange,提问作者Alex Rebell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 08:47:02