使用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  连接字符串(join %)
Sep 06 Python
python在windows命令行下输出彩色文字的方法
Mar 19 Python
python如何在终端里面显示一张图片
Aug 17 Python
python使用super()出现错误解决办法
Aug 14 Python
python、java等哪一门编程语言适合人工智能?
Nov 13 Python
使用Python 正则匹配两个特定字符之间的字符方法
Dec 24 Python
Python Django 添加首页尾页上一页下一页代码实例
Aug 21 Python
TensorFlow实现从txt文件读取数据
Feb 05 Python
python 给图像添加透明度(alpha通道)
Apr 09 Python
pyecharts在数据可视化中的应用详解
Jun 08 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 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
php4的彩蛋
2006/10/09 PHP
PHP开发中常用的8个小技巧
2008/08/27 PHP
获取远程文件大小的php函数
2010/01/11 PHP
解析PHP提交后跳转
2013/06/23 PHP
PHP中header用法小结
2016/05/23 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
PHP实现动态压缩js与css文件的方法
2018/05/02 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
js querySelector和getElementById通过id获取元素的区别
2012/04/20 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
2018/03/01 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
layui实现三级联动效果
2019/07/26 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
Python 3 使用Pillow生成漂亮的分形树图片
2019/12/24 Python
大学毕业自我评价
2014/02/02 职场文书
书法比赛获奖感言
2014/02/10 职场文书
小学生读书感言
2014/02/12 职场文书
代办委托书怎样写
2014/04/08 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫