python3将爬取的数据写入execl表格

前言:在日常抓取数据的过程中可能会遇到需要写入到execl1表格的数据。所有学会把数据写入execl是很重要的。

思路:下面的方法是利用csv库的方法写入到execl表格中,因为csv是一个通用格式!写入到表格之后另存为xlsx格式即可。

普通写入举例如下

#导入csv文件模块:
import csv     # 该模块为内置模块不用安装!
#1. 打开文件
f = open('adi1.csv','w',newline='')  # newline=''表示不隔行写入!默认写入一行隔一行。
# 2. 基于文件对象构建写入对象  
csv_writer = csv.writer(f)
# 3. 写入第一行内容
csv_writer.writerow(["姓名","爱好","年龄","性别"]) # 写入的内容为列表类型,其实就是第一行!
# 4. 写入csv文件内容
#csv_writer.writerow(["灭霸",'喜欢打响指','未知','男'])  # 写入的内容记得为列表类型
csv_writer.writerow(["特斯拉",'喜欢核辐射','未知','雄性']) # 写入的内容记得为列表类型
csv_writer.writerow(["迪迦",'打怪兽','未知','雄性']) # 写入的内容记得为列表类型
# 5. 关闭文件
f.close()  # 保存关闭文件

注意
1. 上面的方法很适合xpath;正则;bs4解析的数据写入!因为这几个常用的解析方法基本都是以列表形式返回的!
所以我们只需把上面的列表替换成我们使用例如xpath;正则;bs4匹配返回的列表即可!
2.使用该方法的好处在于你可以像写入txt文本文件一样,使用二进制,文本或者追加的方式写入表格,防止覆盖!

追加写入举例:防止覆盖

#导入csv文件模块:
import csv     # 该模块为内置模块不用安装!
list3 = [["姓名","爱好","年龄","性别"],["特斯拉",'喜欢核辐射','未知','雄性'],["迪迦",'打怪兽','未知','雄性'] ]

for i in list3:
    print(i)
    fp =open('adi.csv',mode='a+',newline='')  # ps:此处记得用“a+” 不然首行会变成空行!
    dp = csv.writer(fp)
    dp.writerow(i)
fp.close()

追加写入结果图
在这里插入图片描述

以上代码全是完整代码复制可用!

### Python 爬虫 豆班读书 数据导出 Excel 表格数据 的解决方案 在处理 Python 爬虫抓取数据并将其导出至 Excel 文件的过程中,如果遇到生成的 Excel 表格中无数据的情况,可能涉及以下几个方面的原因分析与解决办法: #### 可能原因一:数据未成功写入 Pandas DataFrame Pandas 是一种强大的数据分析工具,在将爬取数据存储到列后再转换成 DataFrame 进行操作时,需确保数据结构的一致性和完整性。如果 `book_names` 或其他变量为空或者长度不一致,则可能导致最终无法正常创建 DataFrame。 - **验证数据有效性** 需要在构建 DataFrame 前打印各列的内容及其长度来确认是否有缺失项或异常值存在[^1]。 ```python print(len(book_names), book_names[:5]) # 打印前五个书籍名称以及总数量 print(len(book_urls), book_urls[:5]) # 同样检查URLs部分 ``` - **调整DataFrame初始化逻辑** 如果发现某些字段确实存在问题可以考虑填充默认值或将错误记录排除在外再重新组装新的DataFrame对象实例化过程如下所示: ```python import pandas as pd data = {'书名': book_names, '链接': book_urls} # 创建字典形式的数据集 df = pd.DataFrame(data) # 将其转化为DataFrame格式以便后续操作 ``` --- #### 可能原因二:Excel 导出配置不当 当使用 Pandas 提供的方法尝试把 DataFrame 中的信息保存为 CSV 文件或者是直接转存为 XLSX 类型文件时,可能会因为参数设置失误而导致目标位置上的实际产出物里面没有任何实质性的内容显示出来。 - **指定正确的路径和编码方式** 对于中文环境下的系统来说,默认情况下 UTF-8 编码可能是更好的选择之一;另外也要注意绝对地址书写是否准确无误等问题所在之处[^2]: ```python df.to_excel('E:/output/douban_books_top250.xlsx', index=False, encoding='utf_8_sig') ``` 上述代码片段中的 `'E:/output/douban_books_top250.xlsx'` 应替换为你希望储存结果的具体目录及文件命名组合而成的目标字符串达式。同时通过设定 `index=False`, 我们能够避免额外增加不必要的索引列占据空间资源浪费现象发生. --- #### 可能原因三:第三方库版本冲突或其他技术障碍 有时即使按照标准流程执行完毕之后仍然得不到预期效果的话,也许是因为所依赖的一些外部软件包之间存在着兼容性矛盾亦或是内部实现细节有所改变所致的缘故使得原本可行的功能现在变得不可用了起来。 因此建议先升级所有涉及到的相关模块达到最新稳定发行版状态然后再试一次看看情况如何变化再说吧! ```bash pip install --upgrade pandas openpyxl xlwt pywin32 ``` 完成更新动作以后记得重启 IDE 工作区以刷新加载最新的改动成果哦! --- ### 总结 综上所述,针对 Python 爬虫抓取豆瓣读书数据后生成 Excel 表格却出现空白的现象可以从三个方面入手排查解决问题即核查原始采集得到的各项资料清单是否存在遗漏状况、审查导环节各项指令语句编写规范程度还有就是留意各个辅助插件之间的相互协作关系这三个维度展开深入探讨研究直至找到根本症结所在为止方才能彻底根除此类故障隐患风险点的存在可能性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值