如何正确导出并查看网页爬取数据的CSV/Excel文件

落强小哥_6972

落强小哥_6972

2026-10-22

444人浏览

原创

如何正确导出并查看网页爬取数据的CSV/Excel文件

本文讲解如何解决网页爬虫后csv文件在excel中仅显示表头、无数据行的问题,提供更简洁可靠的pandas方案,并支持一键导出为excel格式。

本文讲解如何解决网页爬虫后csv文件在excel中仅显示表头、无数据行的问题,提供更简洁可靠的pandas方案,并支持一键导出为excel格式。

在使用 BeautifulSoup 手动解析 HTML 表格并构建 DataFrame 后,你可能遇到 df.to_csv() 生成的 CSV 文件在 Excel 中打开时“只显示列名、没有数据行”的现象。这通常并非数据丢失,而是由以下常见原因导致:

  • CSV 文件编码问题(如未指定 UTF-8 BOM,Excel 在 Windows 下默认用 ANSI 打开,中文乱码或识别失败);
  • CSV 内容含特殊字符(如换行符、逗号、引号)未被正确转义,破坏 Excel 的列解析逻辑;
  • 手动构造 DataFrame 时索引或赋值逻辑存在边界错误(例如 df.loc[l] = r2 在空 DataFrame 中可能因索引不连续或类型不匹配而静默失败)。

✅ 推荐解决方案:放弃手动解析,改用 pandas.read_html() —— 更健壮、更简洁、原生支持多表提取。

import pandas as pd

# 自动解析网页中所有符合规则的表格(底层已集成 BeautifulSoup)
df_list = pd.read_html(
    'https://www.dsebd.org/top_20_share.php',
    match='TRADING CODE',  # 根据表头关键词精准定位目标表格
    header=0               # 指定首行为列名(可选,增强鲁棒性)
)

# 通常第一个表格即所需数据
df = df_list[0]

# ✅ 导出为 CSV(添加 encoding='utf-8-sig' 确保 Excel 正确识别中文)
df.to_csv("top_20_share_value_22.csv", index=False, encoding='utf-8-sig')

# ✅ 或直接导出为 Excel(无需额外依赖 openpyxl/xlsxwriter 即可写入 .xlsx)
df.to_excel("top_20_share_value_22.xlsx", index=False)

? 小贴士:pd.read_html() 返回的是 list[pd.DataFrame]。该页面实际包含 3 个结构相似的表格(如成交量、成交额、涨跌幅 Top 20),可通过 len(df_list) 查看数量,用 pd.concat(df_list, ignore_index=True) 合并全部。

Excel XLSX Formula Cleanup
Excel XLSX Formula Cleanup

诊断并修复涉及公式、命名范围、Power Query 刷新、数据透视表、VBA/宏保存等问题的 Microsoft Excel XLSX 工作簿

下载

⚠️ 若仍需手动解析,请务必检查:

  • df.loc[l] = r2 前确认 r2 长度与 header 列数严格一致;
  • 使用 df = pd.DataFrame(columns=header) 后,建议改用 df = pd.concat([df, pd.DataFrame([r2], columns=header)], ignore_index=True) 追加行,避免 .loc 赋值异常;
  • 输出 CSV 时强制指定 encoding='utf-8-sig'(Windows Excel 友好)。

最终,双击生成的 .xlsx 文件即可在 Excel 中完整、规范地查看所有行数据——无需额外设置,真正“开箱即用”。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

excel csv

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
免费爬虫工具有哪些
免费爬虫工具有哪些

免费爬虫工具有Scrapy、Beautiful Soup、ParseHub、Octoparse、Webocton Scriptly、RoboBrowser和Goutte。更多关于免费爬虫工具的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.10

5053

9

Python爬虫获取数据的方法
Python爬虫获取数据的方法

Python爬虫可以通过请求库发送HTTP请求、解析库解析HTML、正则表达式提取数据,或使用数据抓取框架来获取数据。更多关于Python爬虫相关知识。详情阅读本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.13

673

12

Python 时间序列分析与预测
Python 时间序列分析与预测

本专题专注讲解 Python 在时间序列数据处理与预测建模中的实战技巧,涵盖时间索引处理、周期性与趋势分解、平稳性检测、ARIMA/SARIMA 模型构建、预测误差评估,以及基于实际业务场景的时间序列项目实操,帮助学习者掌握从数据预处理到模型预测的完整时序分析能力。

2025.12.04

320

15

Python 数据清洗与预处理实战
Python 数据清洗与预处理实战

本专题系统讲解 Python 在数据清洗与预处理中的核心技术,包括使用 Pandas 进行缺失值处理、异常值检测、数据格式化、特征工程与数据转换,结合 NumPy 高效处理大规模数据。通过实战案例,帮助学习者掌握 如何处理混乱、不完整数据,为后续数据分析与机器学习模型训练打下坚实基础。

2026.01.31

252

21

Python数据分析与Pandas高级实战
Python数据分析与Pandas高级实战

本专题围绕 Python 数据分析展开,系统讲解 Pandas 的高级用法,包括数据清洗、透视表、时间序列分析以及多表合并与分组操作。通过实战案例,帮助开发者掌握高效处理与分析数据的方法,提高数据处理效率与分析能力。

2026.04.13

591

25

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

2026.10.21

20

15

Playwright 页面操作指南
Playwright 页面操作指南

Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。

2026.10.21

0

16

Playwright 入门教程
Playwright 入门教程

Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。

2026.10.21

0

16

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

120

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 44.6万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 3.6万人学习