使用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入门及进阶笔记 Python 内置函数小结
Aug 09 Python
在Django框架中编写Context处理器的方法
Jul 20 Python
python爬虫的数据库连接问题【推荐】
Jun 25 Python
Python3实现腾讯云OCR识别
Nov 27 Python
对python字典过滤条件的实例详解
Jan 22 Python
Python二叉树的镜像转换实现方法示例
Mar 06 Python
linux中如何使用python3获取ip地址
Jul 15 Python
详解Python并发编程之从性能角度来初探并发编程
Aug 23 Python
python随机数分布random均匀分布实例
Nov 27 Python
Python Pandas 对列/行进行选择,增加,删除操作
May 17 Python
Python环境配置实现pip加速过程解析
Nov 27 Python
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 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中使用Oracle数据库(3)
2006/10/09 PHP
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
php 使用file_get_contents读取大文件的方法
2014/11/13 PHP
使用WAMP搭建PHP本地开发环境
2017/05/10 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
js精美的幻灯片画集特效代码分享
2015/08/29 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
Vue ElementUI之Form表单验证遇到的问题
2017/08/21 Javascript
node前端模板引擎Jade之标签的基本写法
2018/05/11 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
Python编写一个优美的下载器
2018/04/15 Python
python版飞机大战代码分享
2018/11/20 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
Java的五个基础面试题
2016/02/26 面试题
简短的公司员工自我评价分享
2013/11/13 职场文书
超市创业计划书
2014/04/24 职场文书
核心价值观演讲稿
2014/05/13 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server