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

如何用Python将含特殊分隔规则的HTML页面字符串转为DataFrame

解决引号内带空格的文本转DataFrame问题

核心方案:用shlex处理带引号的分割逻辑

你的场景核心是区分引号内的空格(作为字段内容)和引号外的空格(作为分隔符),Python的shlex模块专门处理这类shell风格的字符串分割,能完美适配需求。

完整代码实现

import requests
import shlex
import pandas as pd

# 拉取目标页面的文本数据
data_str = requests.get("https://gladys.geog.ucl.ac.uk/bikesapi/load.php?scheme=saopaulo").text

# 分割字符串:自动保留引号内的空格,仅拆分引号外的空格
split_items = shlex.split(data_str)

# 按每行固定列数分组(目标数据为5列,可根据实际结构调整)
row_length = 5
data_rows = [split_items[i:i+row_length] for i in range(0, len(split_items), row_length)]

# 转换为DataFrame,自定义列名
df = pd.DataFrame(data_rows, columns=["ID", "时间戳", "站点名称", "可用车辆数", "可用车位"])
print(df.head())

关键细节说明

  • shlex.split()会自动识别"Estação Paulista"这类带空格的引号内容,将其视为单个元素,不会拆分内部空格。
  • 若不确定每行的列数,可先打印split_items[:10]观察前几个元素,调整row_length的值即可。
  • 即使原始文本混有换行符,shlex.split()也会自动忽略,统一按引号外的空格完成分割。

内容的提问来源于stack exchange,提问作者barney stinson 2

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 00:05:58