使用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通过floor函数舍弃小数位的方法
Mar 17 Python
你眼中的Python大牛 应该都有这份书单
Oct 31 Python
在python环境下运用kafka对数据进行实时传输的方法
Dec 27 Python
使用Python进行体育竞技分析(预测球队成绩)
May 16 Python
python 中pyqt5 树节点点击实现多窗口切换问题
Jul 04 Python
django中media媒体路径设置的步骤
Nov 15 Python
Python中pyecharts安装及安装失败的解决方法
Feb 18 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
python里的单引号和双引号的有什么作用
Jun 17 Python
Python3压缩和解压缩实现代码
Mar 01 Python
python基础之匿名函数详解
Apr 21 Python
Jupyter notebook 更改文件打开的默认路径操作
May 21 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初学者的8点有效建议
2010/11/20 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
php通过字符串调用函数示例
2014/03/02 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
PHP面向对象类型约束用法分析
2019/06/12 PHP
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
Vue 中对图片地址进行拼接的方法
2018/09/03 Javascript
Node.js实现一个HTTP服务器的方法示例
2019/05/13 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
python配置grpc环境
2019/01/01 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
Python callable内置函数原理解析
2020/03/05 Python
python用什么编辑器进行项目开发
2020/06/17 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
int和Integer有什么区别
2013/05/25 面试题
上班迟到检讨书
2014/01/10 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
消防隐患整改通知书
2015/04/22 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
SQL 聚合、分组和排序
2021/11/11 MySQL