Python爬虫实战:CSV文件数据存储与操作技巧详解
创始人
2024-12-26 21:15:33
0 次浏览
0 评论
python爬虫-19-CSV文件之python数据存储
CSV文件是一种通用且相对简单的数据文件格式,广泛用于各种程序之间的数据交换。CSV支持各种程序之间的数据传输,特别是当这些程序不兼容或使用专有和非标准格式时。
CSV文件具有以下特点:-格式简单,易于理解和分析-适合程序之间的数据交换,特别是在数据不兼容的情况下。
-为各种程序提供可选的输入/输出格式。
使用Python操作CSV文件的两种常见方法是读取和写入。
1.Python读取CSV文件。
Python提供了pandas、csv等各种库来读取CSV文件。
通常,读取过程将数据显示为列表或字典。
1.1准备测试文件。
创建一个包含以下内容的测试文件“ceshi.csv”:在Excel中打开它并显示如下:运行Python代码来读取该文件。
1.2列表模式读取代码示例:执行结果:数据以列表形式显示,每行包含一个题。
如果您只需要特定数据(例如“姓名”、“爱好”),则应删除标题行并使用“next()”方法跳过第一行。
执行结果:仅输出数据部分。
“next()”方法一次读取一行,从第一行开始,跳过标题行。
1.3字典读取示例代码:执行结果:以字典格式显示数据,列标题为键,内容为值。
此方法可以防止由于数据位置更改而导致的值错误。
1.4导入具体数据示例代码,提取“姓名”和“爱好”:执行结果:只输出需要的数据。
2.Python创建一个CSV文件。
创建CSV文件对应一个读取过程,支持列表或字典类型数据。
2.1填写列表格式剩余内容,请登录“运维之家”公众号回复“180”确认。
------“运维之家”,回复“180”--------“运维之家”,回复“180”------------“运维之家”维护之家”,回复“180”------Linux相关知识的补充,包括系统管理、文件操作、虚拟化、软件安装等等。
------“运维之家”,回复“180”--------“运维之家”,回复“180”------------”“运营和维修之家”,回复“180”------
【Python自动化】定时自动采集,并发送微信告警通知,全流程案例讲解!
你好!我是@马哥pythonsa,一名拥有10年经验的程序员。我开发了一个完整的自动化爬取解决方案,包括以下步骤:收集数据、过滤数据、存储到MySQL数据库、发送电子邮件、微信提醒和定时执行。
如果您每天面临重复繁琐的数据采集工作,这个自动化解决方案可以帮助您节省劳动力,提高效率!效果演示如下:由于数据保护,部分数据已脱敏。
数据库结果(部分数据已脱敏):Excel结果(部分数据已脱敏):微信消息提醒:收件箱通知邮件:邮件内容(部分数据已脱敏):以上。
以下是代码解释:3.1行政犯罪数据爬虫采集:爬取目标为某公示平台的行政犯罪数据。
通过浏览器的开发者模式分析接口,发现页面显示的数据与接口返回的数据匹配,从而可以通过爬取接口进行采集。
首先导入需要的库:然后定义请求头(真实地址已脱敏):定义请求参数,即开发者中的payload参数,此处不再展示。
发送POST请求并接收返回数据:对返回数进行一一分析,以“惩罚金额”为例:如果惩罚金额超过预设阈值,则保存数据,否则不保存,继续进入下一个循环以达到此警告目的。
其他字段(案件名称、处罚名称、处罚日期、量刑机关等)同理,此处不再赘述。
最后,将数据保存到CSV文件中:将数据保存到CSV文件中的效果如图2.2所示。
3.2保存到MySQL数据库:如上所述,数据暂时存储在CSV文件中,数据则存储在MySQL数据库中进行持久存储。
我使用了sqlalchemy和pandas的to_sql的结合来快速将CSV数据导入MySQL数据库。
关键代码(真实信息已脱敏):这简单的3行代码就可以实现将CSV数据导入MySQL数据库的目的。
注意to_sql中的if_exists表示如果表中存在数据,则替换原来的数据,避免数据重复。
当然,也可以为ist_time添加区分字段,这样就可以将if_exists设置为add,保证每次抓取都留下痕迹。
我觉得这段代码比较完整,效果也更好。
数据存储效果见图2.13.3发送报警邮件和微信通知:自动发送邮件,我使用zmail库来实现。
关键代码(真实信息已脱敏):注意发件人的SMTP服务必须开启,否则发邮件失败,如下:邮件已收到,如何实现微信通知?秘诀就是打开微信的邮件功能,如下:微信:我->设置->通用->辅助功能->QQ邮件提醒->启用该功能,微信就能收到消息提醒图2.3。
还有一点,不要尝试使用itchat、wxpy等第三方库来操作微信。
微信已正式禁用此类工具,存在账号封禁风险!如果你不相信,就来试试吧!【手动狗头】3.4定时机制:定时执行采用简单直接的方式,直接使用os.system调用各自的py文件,通过死循环和sleep来实现定时功能。
这样程序只需要在后台一直运行就可以运行了每3600秒(即1小时)自动刷新一次,间隔长度可自定义。
最终效果是微信每小时收到一条消息通知,如图2.3所示。
这个定时收款通知解决方案的整个流程是我原创开发的,可以应用于类似的业务需求。
部分链接可能会根据需要扩展相关功能。
朋友们,发挥你的创造力并发挥它吧!文中提到,部分信息涉及隐私,因此不提供完整代码。
有类似需求的朋友可以私信讨论。
本文第一个公众号:老男孩的平凡之路↓↓我是@马哥python说,10年经验的程序员,持续分享有用的Python资讯!

下一篇:
C语言实现爱心形状字符打印代码解析
相关文章

Python实现区间[n,m]内素数查找...
2024-12-18 18:53:39
Python字符串数组互转技巧解析
2024-12-15 02:16:05
Python三种文本文件读取方法详解及选...
2024-12-28 05:22:11
Python整数类型详解:int_int...
2024-12-24 11:40:26
Python字符与数字转换攻略:str与...
2025-01-12 22:19:55
Python编程:轻松计算1到100的整...
2024-12-24 18:25:50
Python描述性分析全攻略:掌握数据分...
2025-01-10 11:42:17
Python数据结构解析:列表与字典的深...
2024-12-27 04:35:40
Python高效输入与排序:列表输入及选...
2024-12-30 03:29:36
Python计算购物总金额及折扣教程
2025-03-15 11:49:50最新文章
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
热门文章
1
Python中的format()方法:字...
formatformat在python中的含义2222.22E+00Format...
2
Python编程入门:全面解析Pytho...
python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...
3
Python爱心绘制教程:使用turtl...
python的爱心代码教程(python画爱心代码)绘制心形的Python代码我...
4
Python字符串大小写转换方法全解析
python中字母的大小写转换怎么实现?在Python中,大小写转换由内置函数处...
5
Python字典:轻松获取最小值键与计算...
python在一个字典里,返回值最小元素对应的键,救解在Python字典中,如果...
6
Python字符串去重空格:strip(...
Python去除字符串中空格(删除指定字符)的3种方法在Python编程中,处理...
7
Python数组元素数量计算技巧分享
Python输出数组有多少个元素?简介:在本文中,首席CTO笔记将向您介绍Pyt...
8
简述python中pass的作用
pass语句的作用在许多编程语言中,包括Python;PASS语句用于在代码块中...
9
Python def 关键字详解:函数定...
def是什么意思编程?戴夫是什么意思?def是Python中的函数定义关键字,用...
10
python不区分大小写的方法
Python字符串不区分大小写在Python中,字符串操作默认区分大小写。但有时...