文章目录
- 前言
- 注意事项
- 工具 pandas
- 1. 简介
- 2. 安装方式
- 3. 简单介绍几个api
- 实战片段 - 实时写入Excel文件
- 结束语
要么出众,要么出局
前言
- 我们在爬虫采集过程中,总是将数据解析抓取后统一写入Excel表格文件,如果在解析数据出现问题容易出现数据丢失,该代码片段主要是解决该问题,实时将数据进行持久化落地。
- 不需要依赖DB等数据库工具,直接将数据使用Excel进行数据落地。
注意事项
数据抓取过程中请不要操作正在写入的excel文件,导致文件锁定,数据抓取结束。
工具 pandas
1. 简介
Pandas是一个开源的、用于数据处理和分析的Python库。它建立在NumPy数组之上,为Python编程语言提供了易于使用的数据结构和数据分析工具。
2. 安装方式
pip install pandas
3. 简单介绍几个api
# 文件读取
df = pd.read_csv('data.csv')
# 文件写入
df.to_excel('output.xlsx', index = False)
# 查看前3行
df.head(3)
# 查看详细信息
df.info()
# 拼接对象
df1 = pd.DataFrame({'col1': [1, 2, 3]})
df2 = pd.DataFrame({'col1': [4, 5, 6]})
concatenated_df = pd.concat([df1, df2], axis = 0)
.......
.......
实战片段 - 实时写入Excel文件
# 定义函数 实时写入数据
# 文件生成 如有问题请大佬指出
def file_gen(l_data,xlsFileName):
# 验证文件是否存在 是否进行追加
if os.path.exists(xlsFileName):
existing_data = pandas.read_excel(xlsFileName)
df = pandas.concat([existing_data, pandas.DataFrame([l_data])], ignore_index=True)
else:
df = pandas.DataFrame([l_data])
# 创建一个ExcelWriter对象,并设置列宽
with pandas.ExcelWriter(xlsFileName, engine='xlsxwriter') as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)
workbook = writer.book
worksheet = writer.sheets['Sheet1']
worksheet.set_column('A:A', 24)
worksheet.set_column('B:B', 14)
worksheet.set_column('C:C', 20)
worksheet.set_column('D:D', 60)
worksheet.set_column('E:E', 40)
# 写入数据
file_gen({"公司名称": ali_gs, "手机号": ali_phone, "电话号": ali_zhh, "联系方式地址": d_url},'D:/data/temp.xlsx')
结束语
文章中API都验证过,可直接运行👽👽👽
运行有问题可联系作者评论交流🤭🤭🤭
风是自由的,你也是自由🤠🤠🤠
欢迎一起交流学习☠️☠️☠️
有帮助请留下足迹 一键三连🥰🥰🥰
爬虫大佬勿喷,欢迎指正问题😈😈😈
后面会做一系列的爬虫文章,请持续关注作者🤡🤡🤡。