使用pandas库对csv文件进行筛选保存


Posted in Python onMay 25, 2020

这个操作现在看来真没啥难的,但是我找相关的资料真的找了好久。

多数大佬都是直接pandas官网甩我脸上,然后举一个入门级的例子。

https://pandas.pydata.org/docs/reference/index.html

首先导入pandas库

import pandas as pd

然后使用read_csv来打开指定的csv文件

df = pd.read_csv('./IP2LOCATION.csv',encoding= 'utf-8')

这个函数里面需要写入csv文件的路径,如果是把csv文件保存到了python的工程文件夹下,则只需要./文件名即可,然后encoding='utf-8'是使用utf-8方式编码,有时候需要换成gbk。

虽然我们读取的是csv文件,但其实由于我们使用的是pandas库,所以我们实际获得的是一个DataFrame的数据结构。

可以使用print(type(df))进行检验

print(type(df))

使用pandas库对csv文件进行筛选保存

DataFrame 是表格型的数据结构。因此,我们可以将其当做表格。DataFrame 是以表格类似展示,而且还包含行标签、列标签。

我们可以添加一个列标签,使用方法为pandas.DataFrame.columns

在我们的例子中DataFrame类型的变量为df,因此使用方法为df.columns,我们添加的列标签为a、b、c、d、e、f

df.columns = ['a','b','c','d','e','f']

然后,我们想把某一列中等于特定值的那些行提取出来

可以将读出来的内容当做一个列表,然后这个列表的元素是表中的每一行,然后这每一行也是一个列表,也就是列表中的列表。

比如,我想将表中第5列中值为Andhra Pradesh的行提取出来,并且由于我们之前定义了第五列的列标签为e

因此代码为:

data = df[df['e'] == 'Andhra Pradesh']

最后我们可以通过pandas中的to_csv,来将筛选出来的数据保存到新的csv文件中。

data.to_csv('my_IP2LOCATION.csv')

用法为表名.to_csv('所要保存地方的路径/表名.csv')

最后总结一下我们的代码

import pandas as pd

df = pd.read_csv('./IP2LOCATION.csv',encoding= 'utf-8')
# print(type(df))
df.columns = ['a','b','c','d','e','f']
data = df[df['e'] == 'Andhra Pradesh']
data.to_csv('my_IP2LOCATION.csv')

IP2LOCATION.csv内容如下:

使用pandas库对csv文件进行筛选保存

总共有759727行

然后经过我们的筛选后的my_IP2LOCATION.csv

使用pandas库对csv文件进行筛选保存

只有3461行

PS:可以使用print(len(df.values))来查看行数

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 图片验证码代码
Dec 07 Python
python 运算符 供重载参考
Jun 11 Python
Python的类实例属性访问规则探讨
Jan 30 Python
详解Python网络爬虫功能的基本写法
Jan 28 Python
python基于pyDes库实现des加密的方法
Apr 29 Python
Python文本处理之按行处理大文件的方法
Apr 09 Python
pycharm运行程序时在Python console窗口中运行的方法
Dec 03 Python
Python FTP文件定时自动下载实现过程解析
Nov 12 Python
Python hmac模块使用实例解析
Dec 24 Python
使用sklearn的cross_val_score进行交叉验证实例
Feb 28 Python
快速解决jupyter notebook启动需要密码的问题
Apr 21 Python
Django CBV模型源码运行流程详解
Aug 17 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 #Python
基于pandas向csv添加新的行和列
May 25 #Python
Python如何把十进制数转换成ip地址
May 25 #Python
tensorflow模型转ncnn的操作方式
May 25 #Python
MxNet预训练模型到Pytorch模型的转换方式
May 25 #Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
May 25 #Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 #Python
You might like
php命令行用法入门实例教程
2014/10/27 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
2017/08/01 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
2012/11/20 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
2016/02/22 Javascript
js解决movebox移动问题
2016/03/29 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
用Python编写简单的定时器的方法
2015/05/02 Python
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
财务情况说明书范文
2014/05/06 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
行政上诉状范文
2015/05/23 职场文书
初中语文教学研修日志
2015/11/13 职场文书
公司转让协议书
2016/03/19 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL