使用pandas库对csv文件进行筛选保存
这个操作现在看来真没啥难的,但是我找相关的资料真的找了好久。
多数大佬都是直接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))
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内容如下:
总共有759727行
然后经过我们的筛选后的my_IP2LOCATION.csv
只有3461行
PS:可以使用print(len(df.values))来查看行数
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Python使用Pandas对csv文件进行数据处理的方法
今天接到一个新的任务,要对一个140多M的csv文件进行数据处理,总共有170多万行,尝试了导入本地的MySQL数据库进行查询,结果用Navicat导入直接卡死....估计是XAMPP套装里面全默认配置的MySQL性能不给力,又尝试用R搞一下吧结果发现光加载csv文件就要3分钟左右的时间,相当不给力啊,翻了翻万能的知乎发现了Python下的一个神器包:Pandas(熊猫们?),加载这个140多M的csv文件两秒钟就搞定,后面的分类汇总等操作也都是秒开,太牛逼了!记录一下这次数据处理的过程: 使用
-
利用pandas向一个csv文件追加写入数据的实现示例
我们越来越多的使用pandas进行数据处理,有时需要向一个已经存在的csv文件写入数据,传统的方法之前我也有些过,向txt,excel文件写入数据,传送门:Python将二维列表(list)的数据输出(TXT,Excel) pandas to_csv()只能在新文件写数据?当然不是! pandas to_csv() 是可以向已经存在的具有相同结构的csv文件增加dataframe数据. df.to_csv('my_csv.csv', mode='a', header=False) to_csv(
-
Python使用pandas处理CSV文件的实例讲解
Python中有许多方便的库可以用来进行数据处理,尤其是Numpy和Pandas,再搭配matplot画图专用模块,功能十分强大. CSV(Comma-Separated Values)格式的文件是指以纯文本形式存储的表格数据,这意味着不能简单的使用Excel表格工具进行处理,而且Excel表格处理的数据量十分有限,而使用Pandas来处理数据量巨大的CSV文件就容易的多了. 我用到的是自己用其他硬件工具抓取得数据,硬件环境是在Linux平台上搭建的,当时数据是在运行脚本后直接输出在termin
-
pandas读取CSV文件时查看修改各列的数据类型格式
下面给大家介绍下pandas读取CSV文件时查看修改各列的数据类型格式,具体内容如下所述: 我们在调bug的时候会经常查看.修改pandas列数据的数据类型,今天就总结一下: 1.查看: Numpy和Pandas的查看方式略有不同,一个是dtype,一个是dtypes print(Array.dtype) #输出int64 print(df.dtypes) #输出Df下所有列的数据格式 a:int64,b:int64 2.修改 import pandas as pd import numpy a
-
解决Python中pandas读取*.csv文件出现编码问题
1.问题 在使用Python中pandas读取csv文件时,由于文件编码格式出现以下问题: Traceback (most recent call last): File "pandas\_libs\parsers.pyx", line 1134, in pandas._libs.parsers.TextReader._convert_tokens File "pandas\_libs\parsers.pyx", line 1240, in pandas._libs
-
Pandas之read_csv()读取文件跳过报错行的解决
读取文件时遇到和列数不对应的行,此时会报错.若报错行可以忽略,则添加以下参数: 样式: pandas.read_csv(***,error_bad_lines=False) pandas.read_csv(filePath) 方法来读取csv文件时,可能会出现这种错误: ParserError:Error tokenizing data.C error:Expected 2 fields in line 407,saw 3. 是指在csv文件的第407行数据,期待2个字段,但在第407行实际发现
-
Python Pandas批量读取csv文件到dataframe的方法
PYTHON Pandas批量读取csv文件到DATAFRAME 首先使用glob.glob获得文件路径.然后定义一个列表,读取文件后再使用concat合并读取到的数据. #读取数据 import pandas as pd import numpy as np import glob,os path=r'e:\tj\month\fx1806' file=glob.glob(os.path.join(path, "zq*.xls")) print(file) dl= [] for f i
-
Pandas操作CSV文件的读写实现方法
(1).导库 import pandas as pd from pandas import Series (2).读取csv文件的两种方式 #读取csv文件的两种方式 f = open('E:/建模/第5周/data/ex1.csv') #方法一 df = pd.read_csv(f) print(df) f.close f = open('E:/建模/第5周/data/ex1.csv') #方法二,必须指定分隔符为',',否则会读取失败 df = pd.read_table(f,sep=','
-
使用pandas库对csv文件进行筛选保存
这个操作现在看来真没啥难的,但是我找相关的资料真的找了好久. 多数大佬都是直接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文件的路径,如果
-
使用python的pandas库读取csv文件保存至mysql数据库
第一:pandas.read_csv读取本地csv文件为数据框形式 data=pd.read_csv('G:\data_operation\python_book\chapter5\\sales.csv') 第二:如果存在日期格式数据,利用pandas.to_datatime()改变类型 data.iloc[:,1]=pd.to_datetime(data.iloc[:,1]) 注意:=号,这样在原始的数据框中,改变了列的类型 第三:查看列类型 print(data.dtypes) 第四:方法一
-
使用pandas生成/读取csv文件的方法实例
前言 csv是我接触的比较早的一种文件,比较好的是这种文件既能够以电子表格的形式查看又能够以文本的形式查看. 先引入pandas库 import pandas as pd 方法一: 1.我构造了一个cont_list,结构为列表嵌套字典,字典是每一个样本,类似于我们爬虫爬下来的数据的结构 2.利用pd.DataFrame方法先将数据转换成一个二维结构数据,如下方打印的内容所示,cloumns指定列表,列表必须是列表 3.to_csv方法可以直接保存csv文件,index=False表示csv文件
-
使用pandas read_table读取csv文件的方法
read_csv是pandas中专门用于csv文件读取的功能,不过这并不是唯一的处理方式.pandas中还有读取表格的通用函数read_table. 接下来使用read_table功能作一下csv文件的读取尝试,使用此功能的时候需要指定文件中的内容分隔符. 查看csv文件的内容如下: In [10]: cat data.csv index,name,comment,,,, 1,name_01,coment_01,,,, 2,name_02,coment_02,,,, 3,name_03,come
-
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
如下所示: # coding=utf-8 import pandas as pd # 读取csv文件 3列取名为 name,sex,births,后面参数格式为names= names1880 = pd.read_csv("names_1880.txt", names=['name', 'sex', 'births']) print names1880 print names1880.groupby('sex').births.sum() 输出如下 最后一行是说按sex分组并计算bir
-
如何使用pandas对超大csv文件进行快速拆分详解
目录 前言 1. 操作步骤 1.1 安装pandas 1.2 拆分大文件 2. 再多了解一点儿 2.1 pandas读取csv文件后,返回的是什么类型? 2.2 如何从DataFrame中读取某一行呢? 2.3 如何从DataFrame读取多行呢? 2.4 如何从DataFrame中读取某一列呢? 2.5 如何用pandas读写CSV文件? 2.6 关于pandas 3. 小结 前言 本文介绍如何利用pandas对超大CSV文件进行快速拆分. 1. 操作步骤 1.1 安装pandas pip i
-
Pandas对CSV文件读写操作详解
目录 什么是 CSV 文件 CSV 库解析 CSV 文件 读取 CSV 文件 CSV reader 参数 CSV 文件的写入 使用 pandas 库解析 CSV 文件 pandas 读取 CSV 文件 pandas 写入 CSV 文件 什么是 CSV 文件 CSV 文件(逗号分隔值文件)是一种纯文本文件,它使用特定的结构来排列表格数据.因为它是一个纯文本文件,所以只能包含实际的文本数据,换句话说就是可打印的 ASCII 或 Unicode 字符. 通常,CSV 文件的结构由其名称给出,使用逗号分
-
详解Python读取和写入操作CSV文件的方法
目录 什么是 CSV 文件? 内置 CSV 库解析 CSV 文件 读取 CSV 文件csv 将 CSV 文件读入字典csv 可选的 Python CSV reader参数 使用 csv 写入文件 从字典中写入 CSV 文件csv 使用 pandas 库解析 CSV 文件 pandas 读取 CSV 文件 pandas 写入 CSV 文件 最流行的数据交换格式之一是 CSV 格式.是需要通过键盘和控制台以外的方式将信息输入和输出的程序,通过文本文件交换信息是在程序之间共享信息的常用方法. 这里带和
随机推荐
- Angular 4环境准备与Angular cli创建项目详解
- 细说FAT16与FAT32区别
- 使用Node.js实现ORM的一种思路详解(图文)
- iOS如何让tableview支持不同种类的cell详解
- 用CSS+JS实现的进度条效果效果
- js代码实现微博导航栏
- 那些年我们错过的魔术方法(Magic Methods)
- Python的自动化部署模块Fabric的安装及使用指南
- Ruby Gems更换淘宝源方法
- 浅谈Java后台对JSON格式的处理操作
- SpringMVC实现通过邮件找回密码功能
- 很详细的Nginx配置说明
- Android实现背景可滑动登录界面 (不压缩背景弹出键盘)
- C语言自增(++)和自减(--)实例详解
- Android自定义ViewGroup实现标签浮动效果
- 专家教你考察交换机背板带宽小诀窍
- 组播的相关概念
- vue bus全局事件中心简单Demo详解
- vbs实现的tasklist效果代码
- Java压缩解压缩工具类