使用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进阶教程之函数参数的多种传递方法
Aug 30 Python
Python re模块介绍
Nov 30 Python
Python编程中的反模式实例分析
Dec 08 Python
用Python编写简单的微博爬虫
Mar 04 Python
python中子类调用父类函数的方法示例
Aug 18 Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 Python
Python 类的魔法属性用法实例分析
Nov 21 Python
Python extract及contains方法代码实例
Sep 11 Python
基于Python制作一副扑克牌过程详解
Oct 19 Python
python基础之文件处理知识总结
May 23 Python
python单向链表实例详解
May 25 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 危险函数解释 分析
2009/04/22 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
2016/05/21 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
jQuery实现合并表格单元格中相同行操作示例
2019/01/28 jQuery
详解element-ui中form验证杂记
2019/03/04 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
在Python中使用__slots__方法的详细教程
2015/04/28 Python
python文件操作之目录遍历实例分析
2015/05/20 Python
Python解析json文件相关知识学习
2016/03/01 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
python绘制圆柱体的方法
2018/07/02 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
python中 * 的用法详解
2019/07/10 Python
pyenv与virtualenv安装实现python多版本多项目管理
2019/08/17 Python
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
写给女生的道歉信
2014/01/08 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
初中军训感言
2015/08/01 职场文书
HTML基础详解(上)
2021/10/16 HTML / CSS
Java 定时任务技术趋势简介
2022/05/04 Java/Android
redis lua限流算法实现示例
2022/07/15 Redis