使用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原始套接字编程示例分享
Feb 21 Python
详解Python的Django框架中Manager方法的使用
Jul 21 Python
Python匹配中文的正则表达式
May 11 Python
Java分治归并排序算法实例详解
Dec 12 Python
Python实现螺旋矩阵的填充算法示例
Dec 28 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
Python实现账号密码输错三次即锁定功能简单示例
Mar 29 Python
Django实现分页显示效果
Oct 31 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
Python GUI自动化实现绕过验证码登录
Jan 10 Python
django的模型类管理器——数据库操作的封装详解
Apr 01 Python
Python编程源码报错解决方法总结经验分享
Oct 05 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
2020最新CPU的性能排名
2020/04/02 数码科技
php中的一些数组排序方法分享
2012/07/20 PHP
php引用传值实例详解学习
2013/11/06 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
php正确输出json数据的实例讲解
2018/08/21 PHP
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
谈谈JavaScript类型系统之Math
2016/01/06 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
[03:37]2016完美“圣”典 风云人物:Mikasa专访
2016/12/07 DOTA
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python中__slots__用法实例
2015/06/04 Python
python简单获取数组元素个数的方法
2015/07/13 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
测试工程师职业规划书
2014/02/06 职场文书
高中微机老师自我鉴定
2014/02/16 职场文书
高三毕业寄语
2014/04/10 职场文书
产品推广策划方案
2014/05/10 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
考研英语辞职信
2015/05/13 职场文书
房屋产权证明书
2015/06/19 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL