使用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读取json文件并将数据插入到mongodb的方法
Mar 23 Python
用Python实现斐波那契(Fibonacci)函数
Mar 25 Python
python3利用venv配置虚拟环境及过程中的小问题小结
Aug 01 Python
利用Pycharm断点调试Python程序的方法
Nov 29 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 Python
安装好Pycharm后如何配置Python解释器简易教程
Jun 28 Python
使用Matplotlib 绘制精美的数学图形例子
Dec 13 Python
Python跑循环时内存泄露的解决方法
Jan 13 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
Feb 11 Python
python3从网络摄像机解析mjpeg http流的示例
Nov 13 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
Python 多进程、多线程效率对比
Nov 19 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 连接mysql连接被重置的解决方法
2011/02/15 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
PHP获取二叉树镜像的方法
2018/01/17 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
jQuery实现连续动画效果实例分析
2015/10/09 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
JS实现图片预加载之无序预加载功能代码
2017/05/12 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
JavaScript实现10秒后再次获取验证码
2020/12/02 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
Python中Continue语句的用法的举例详解
2015/05/14 Python
使用Python进行目录的对比方法
2018/11/01 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
使用Python封装excel操作指南
2021/01/29 Python
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
英国现代市场:ARKET
2019/04/10 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
康拓普公司Java笔面试
2016/09/23 面试题
Servlet都有哪些方法?主要作用是什么?
2014/03/04 面试题
个人近期表现材料
2014/02/11 职场文书
新闻编辑求职信
2014/07/13 职场文书
2014年营业员工作总结
2014/11/18 职场文书
详细聊聊关于Mysql联合查询的那些事儿
2021/10/24 MySQL