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

Python中将爬取的单列列表拆分为多列追加文本导出xls的问题

问题根因

你当前遇到的列合并换行问题,核心是你通过xpath定位到的每个class="Market"的div元素本身就包含了一整组的5条数据,text属性返回的是用\n分隔的5个值,所以你拿到的prices列表长度是实际的组数(示例场景下为3),不是总数据条数15,之前按索引每5位切分的逻辑完全不匹配实际数据结构。

完整解决代码
import pandas as pd

# 第一步:展开所有数据为一维列表
all_items = []
for price in prices:
    # 按换行拆分每个div的内容,去除前后空白,过滤空值
    items = [item.strip() for item in price.text.split('\n') if item.strip()]
    all_items.extend(items)

company = 'xyz'
group_size = 5
# 校验数据长度是每组大小的整数倍,不足部分直接截断,也可根据需求调整为补空值
valid_length = len(all_items) // group_size * group_size
all_items = all_items[:valid_length]

# 按每5条分一组
data_groups = [all_items[i:i+group_size] for i in range(0, len(all_items), group_size)]

# 生成结构化DataFrame,列名可根据实际需求修改
df = pd.DataFrame(
    [[company] + group for group in data_groups],
    columns=['Company', 'A', 'B', 'C', 'D', 'E']
)

# 导出为Excel文件
# 导出.xlsx格式(推荐),需提前安装openpyxl:pip install openpyxl
df.to_excel('市场价格数据.xlsx', index=False)

# 若必须导出老式.xls格式,需提前安装xlwt:pip install xlwt
# df.to_excel('市场价格数据.xls', index=False, engine='xlwt')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:15:05