-
2021-10-21 15:28:44
# -*- coding: utf-8 -*- #from dao.updateMongo import * #from dao.insertMongo import * #from dao.selectMongo import * import pandas as pd #df = selectDataFrame(find={},col_name='sttemp') #df.pop('_id') #df.to_csv('.\output\目标.csv',encoding='gbk') #加encoding=‘gbk' 因为文件中存在中文, 功能--- 输出多个并行条件的表格数据 #这里的筛选条件可以根据用户需要进行修改 df1 =pd.read_csv(u'.\output\目标.csv', encoding='gbk') outfile = df1[(df1[u'found']==True) & (df1['DtoE'] >= 0) & (df1['DtoE'] <= 4) & (df1['E'] >= '2021-10-01')] print(outfile) outfile.to_csv('final_target.csv', index=False, encoding='gbk') print("===========运行结束 文件已导出 ============")
功能:
找出表头 found ==True 且 名子为“p”列中 数据符合 大于8小于17的数据,再将以上表筛选后输出一个新文件 outfile.csv
更多相关内容 -
使用Python(pandas库)处理csv数据
2020-12-22 02:10:10(注:本文写于做毕设期间,有处理大量csv文件的需要,故使用python强大的库资源来处理数据,希望对有需要的你提供帮助和启发) 使用Python(pandas)处理数据 原始数据和处理之后的样式 图中为一个csv文件,待处理的... -
Python 提取csv数据并筛选指定条件数据
2021-02-03 19:39:56本文主要介绍通过Python提取csv文件中数据,并对数据进行处理。 编译器:Anaconda3 语言:Python3 提示:以下是本篇文章正文内容,本文仅为作者作为学习笔记使用,大佬勿喷 一、pandas与numpy? pandas是一个强大的...
前言
本文主要介绍通过Python提取csv文件中数据,并对数据进行处理。
编译器:Anaconda3 语言:Python3
提示:以下是本篇文章正文内容,本文仅为作者作为学习笔记使用,大佬勿喷
一、使用pandas和numpy库
通过pandas库可以从csv提取到数据,但是数据的格式是DateFrame 格式,因为我不懂怎么处理DateFrame 格式的数据,所以就使用numpy库,将提取的数据转化为数组格式,这样可以就可以通过对数组的处理方式处理csv文件的数据。写回csv文件的过程中,再转换为DateFrame即可。二、使用步骤
1.引入库
代码如下(示例):
import pandas as pd import numpy as np
2.读入数据
本文是通过路径读取的文件。如果想通过文件名读取,需要把文件放与程序放到同一个文件夹中
代码如下(示例):file1=pd.read_csv(r'C:\Users\86150\Desktop\1_Part2 附加测试题\Part2 附加测试题\4. data\data【各省-竞品】.csv')
此时读出的数据是DateFrame格式,输出如下
3.转化格式
将DateFrame 格式的数据转化为数组
file1=np.array(file1)
此时得到输出如下
4.处理数据
我们将所有省份是‘黑龙江’的数据挑选出来,并放入新的数组中
data=[] for item in file1: sh= item[0] if "黑龙江" ==sh: # print(item) data.append(item)
这样就把数据挑选出来并存放在data中
总结
这是第一次写博客,有很多不足的地方,希望大家指出,比如:如何直接把cell插入而不是以图片的形式。本文只是作者学习笔记,因为对很多库函数不知道,迫不得已想出来的方法,希望有大佬可以多讲解一些Python处理数据的方法,万分感谢!!! -
python筛选csv文件中特定的行(指定条件的数据)
2022-04-20 23:51:15文章目录参考网址资料python使用csv库对csv文件特定行进行筛选筛选csv文件中特定的行使用pandas和numpy库对数据进行提取与筛选 参考网址资料 (自己整理一遍过程是为了加深自己对csv库的理解,方便以后的查阅。大家...参考网址资料
(自己整理一遍过程是为了加深自己对csv库的理解,方便以后的查阅。大家直接看这两个博主的帖子就足够了)
Python数据分析基础——CSV文件——筛选特定的行
Python 提取csv数据并筛选指定条件数据
csv — CSV 文件读写python使用csv库对csv文件特定行进行筛选
先给出一个官方文档中简单的csv读文件实例:
(实际上csv.reader里的delimiter和quotechar可以忽略,具体用法可以去官方文档查看)import csv with open('eggs.csv', newline='') as csvfile: spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|') for row in spamreader: print(', '.join(row)) #运行结果: Spam, Spam, Spam, Spam, Spam, Baked Beans Spam, Lovely Spam, Wonderful Spam
再给出一个官方文档中一个简单的写文件示例:
import csv with open('names.csv', newline='') as csvfile: reader = csv.DictReader(csvfile) for row in reader: print(row['first_name'], row['last_name']) #运行结果 Eric Idle John Cleese print(row) {'first_name': 'John', 'last_name': 'Cleese'}
可以看出,我们都是先用open函数打开一个文件指针,然后再通过(读或写)的reader函数进行操作
接下来我们可以对文件内容进行筛选了
筛选csv文件中特定的行
在文件中,当行中的值满足一个具体条件时,才需要保留这些行。在这种情况下,可以检验行中的值是否满足具体的条件,然后筛选出满足条件的行。
例如在我这里的文件里,我希望留下image_id符合某个范围的数据
先用读指针对要读的文件进行操作,再用写指针对要写入的文件进行操作。写入文件时,先写入文件的表头(第一行,标题行)
再用for循环和if语句筛选第一列中符合条件的那一行,有符合条件的那一行就把那一行都写入即可。with open("F\inputfile.csv",'r',encoding='UTF-8') as load_input:#打开要读取的csv文件进行只读操作 with open("outputfile.csv", 'w', newline='',encoding='UTF-8') as out_output: #打开要写入的csv文件进行写操作 ereader = csv.reader(load_input) #用reader函数读入文件指针 ewriter = csv.writer(out_output) #用writer函数读入文件指针 eheader = next(ereader) # 取出文件的第一行,也就是表头 ewriter.writerow(eheader) # 把表头写入我们要写入的文件 for row_list in ereader: image_id = str(row_list[0]).strip() # 选取文件的第一列(即image_id那一列) if image_id > 10000: #如果第一列中的image_id数值大于10000 expression_writer.writerow(row_list) #把这一行都写入要写入的文件
注意,之前的博主没有在open函数中加入encoding部分,不加入的话默认时gbk格式,这样有的时候用print函数会报错,我这里已经加上了
使用pandas和numpy库对数据进行提取与筛选
https://blog.csdn.net/m0_46159136/article/details/113618135
改日自己亲测后整理
-
python之pandas数据筛选和csv操作
2020-12-01 16:50:47本博主要总结DaraFrame数据筛选方法(loc,iloc,ix,at,iat),并以操作csv文件为例进行说明1. 数据筛选a b c0 0 2 41 6 8 102 12 14 163 18 20 224 24 26 285 30 32 346 36 38 407 42 44 468 48 50 529 54 56 ...本博主要总结DaraFrame数据筛选方法(loc,iloc,ix,at,iat),并以操作csv文件为例进行说明
1. 数据筛选
a b c0 0 2 4
1 6 8 10
2 12 14 16
3 18 20 22
4 24 26 28
5 30 32 34
6 36 38 40
7 42 44 46
8 48 50 52
9 54 56 58
(1)单条件筛选
df[df['a']>30]
# 如果想筛选a列的取值大于30的记录,但是之显示满足条件的b,c列的值可以这么写
df[['b','c']][df['a']>30]
# 使用isin函数根据特定值筛选记录。筛选a值等于30或者54的记录
df[df.a.isin([30, 54])]
(2)多条件筛选
可以使用&(并)与| (或)操作符或者特定的函数实现多条件筛选
# 使用&筛选a列的取值大于30,b列的取值大于40的记录
df[(df['a'] > 30) & (df['b'] > 40)]
(3)索引筛选
a. 切片操作
df[行索引,列索引]或df[[列名1,列名2]]
#使用切片操作选择特定的行
df[1:4]
#传入列名选择特定的列
df[['a','c']]
b. loc函数
当每列已有column name时,用 df [ ‘a’ ] 就能选取出一整列数据。如果你知道column names 和index,且两者都很好输入,可以选择 .loc同时进行行列选择。
In [28]: df.loc[0,'c']
Out[28]: 4In [29]: df.loc[1:4,['a','c']]
Out[29]:
a c1 6 10
2 12 16
3 18 22
4 24 28In [30]: df.loc[[1,3,5],['a','c']]
Out[30]:
a c1 6 10
3 18 22
5 30 34
c. iloc函数
如果column name太长,输入不方便,或者index是一列时间序列,更不好输入,那就可以选择 .iloc了,该方法接受列名的index,iloc 使得我们可以对column使用slice(切片)的方法对数据进行选取。这边的 i 我觉得代表index,比较好记点。
In [35]: df.iloc[0,2]
Out[35]: 4In [34]: df.iloc[1:4,[0,2]]
Out[34]:
a c1 6 10
2 12 16
3 18 22In [36]: df.iloc[[1,3,5],[0,2]]
Out[36]:
a c1 6 10
3 18 22
5 30 34In [38]: df.iloc[[1,3,5],0:2]
Out[38]:
a b1 6 8
3 18 20
5 30 32
d. ix函数
ix的功能更加强大,参数既可以是索引,也可以是名称,相当于,loc和iloc的合体。需要注意的是在使用的时候需要统一,在行选择时同时出现索引和名称, 同样在同行选择时同时出现索引和名称。
df.ix[1:3,['a','b']]
Out[41]:
a b1 6 8
2 12 14
3 18 20In [42]: df.ix[[1,3,5],['a','b']]
Out[42]:
a b1 6 8
3 18 20
5 30 32In [45]: df.ix[[1,3,5],[0,2]]
Out[45]:
a c1 6 10
3 18 22
5 30 34
e. at函数
根据指定行index及列label,快速定位DataFrame的元素,选择列时仅支持列名。
In [46]: df.at[3,'a']
Out[46]: 18
f. iat函数
与at的功能相同,只使用索引参数
In [49]: df.iat[3,0]
Out[49]: 18
2. csv操作
csv文件内容
Supplier Name,Invoice Number,Part Number,Cost,Purchase Date
Supplier X,001-1001,2341,$500.00 ,1/20/14Supplier X,001-1001,2341,$500.00 ,1/20/14Supplier X,001-1001,5467,$750.00 ,1/20/14Supplier X,001-1001,5467,$750.00 ,1/20/14Supplier Y,50-9501,7009,$250.00 ,1/30/14Supplier Y,50-9501,7009,$250.00 ,1/30/14Supplier Y,50-9505,6650,$125.00 ,2002/3/14Supplier Y,50-9505,6650,$125.00 ,2002/3/14Supplier Z,920-4803,3321,$615.00 ,2002/3/14Supplier Z,920-4804,3321,$615.00 ,2002/10/14Supplier Z,920-4805,3321,$615.00 ,2/17/14Supplier Z,920-4806,3321,$615.00 ,2/24/14
(1)csv文件读写
import pandas aspd
# 读写csv文件
df= pd.read_csv("supplier_data.csv")
df.to_csv("supplier_data_write.csv",index=None)
(2)筛选特定的行
#Supplier Nmae列中姓名包含'Z',或者Cost列中的值大于600
print(df[df["Supplier Name"].str.contains('Z')])
print(df[df['Cost'].str.strip('$').astype(float) > 600])
print(df.loc[(df["Supplier Name"].str.contains('Z'))|(df['Cost'].str.strip('$').astype(float) > 600.0),:])
#行中的值属于某个集合
li= [2341,6650]
print(df[df['Part Number'].isin(li)])
print(df.loc[df['Part Number'].astype(int).isin(li),:])
#行中的值匹配某个模式
print(df[df['Invoice Number'].str.startswith("001-")])
(3)选取特定的列
#选取特定的列
#列索引值,打印1,3列
print(df.iloc[:,1:4:2])
#列标题打印
print(df.loc[:,["Invoice Number", "Part Number"]])
#选取连续的行
print(df.loc[1:4,:])
-
python数据文件的查询及筛选,csv文件详细介绍
2022-05-15 23:05:33在使用数据文本文件中,有一种通用格式——CSV(Comma-Separated Values)的文件,它将多列数据用逗号分割,其中CSV文件经常使用GBK编码,这是因为Excle表格另存为CSV文件时使用GBK编码。 例如: 我们对这个Excel... -
使用python获取csv文本的某行或某列数据的实例
2020-09-20 16:22:43下面小编就为大家分享一篇使用python获取csv文本的某行或某列数据的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
python数据处理之如何选取csv文件中某几行的数据
2021-01-01 15:52:52有些人看到这个问题觉得不是问题,是嘛,不就是df.col[]函数嘛,其实忽略了一个重点,那就是我们要省去把csv文件全部读取这个过程,因为如果在面临亿万级别的大规模数据,得到的结果就是boom,boom,boom。... -
《python数据分析基础》之CSV文件
2020-11-27 17:49:261、针对更为复杂的CSV文件(含有标题和多列)做简单的处理和过滤“CSV测试数据.csv”文件里的内容:代码,对“花费”进行了去除“$”和类型转换,使用loc函数将满足性别是“女”或花费大于750的行取出,最后写入文件... -
python 如何根据csv表格筛选数据?
2022-04-03 03:07:14如何筛选出日期不等于2022/4/3的行,并把行保存为列表? 2.脚本运行结束后,表格里更新账号里现有的欢乐豆,以及最近一次刷豆日期; 在python里该如何实现?一定要用pandas么?或者一定要用csv么?有无其它方案,... -
使用pandas库对csv文件进行筛选保存
2020-11-27 17:49:25首先导入pandas库import pandas as pd然后使用read_csv来打开指定的csv文件df = pd.read_csv('./IP2LOCATION.csv',encoding= 'utf-8')这个函数里面需要写入csv文件的路径,如果是把csv文件保... -
Python数据分析基础——CSV文件——筛选特定的行
2021-02-03 17:41:41参考文献:《Python数据分析基础》《Python标准库》《Python编程从入门到实践》 一.行中的值满足某个条件 有时,当行中的值满足一个具体条件时,才需要保留这些行。在这种情况下,可以检验行中的值是否满足具体的... -
使用python对多个txt文件中的数据进行筛选的方法
2021-01-01 02:28:23筛选出多个txt文件中需要的数据 二、数据准备 这是我自己建立的要处理的文件,里面是随意写的一些数字和字母 三、程序编写 import os def eachFile(filepath): pathDir =os.listdir(filepath) #遍历... -
python批量读取csv并提取其中多行生成新csv
2022-03-14 23:39:09python批量读取csv并提取其中多行生成新csv -
Python对CSV文件数据进行可视化
2020-04-08 15:41:37分别使用Python中的csv以及json模块对他们进行处理。 然后,我们再根据下载的数据,使用matplotlib创建一个图标。 1、获取CSV文件 我们将首先处理少量的锡卡尔的CSV格式的天气数据,将文件sitka_weather_07-2018_... -
python 之 pandas 数据筛选和 csv 的操作
2020-12-17 22:42:481. 数据筛选a b c0 0 2 41 6 8 102 12 14 163 18 20 224 24 26 285 30 32 346 36 38 407 42 44 468 48 50 529 54 56 58(1)单条件筛选df[df[‘a’]>30]如果想筛选 a 列的取值大于 30 的记录, 但是之显示满足条件的... -
Python处理CSV文件的几个方法
2021-03-18 11:41:14筛选特定的行有些时候,你并不需要文件中所有的数据。例如,你可能只需要一个包含特定词或数字的行的子集,或者是与某个具体日期关联的行的子集。在这些情况下,可以用 Python 筛选出特定的行来使用。你应该很熟悉... -
python 获取csv的列数_像 Excel 一样使用 python 进行数据分析
2020-10-21 01:34:43作者 | 蓝鲸网站分析博客...一类是会爬虫但不知道如何进一步做数据分析的,一类是平常用 Excel 做分析但不太会用 Python 分析的。如果和你很像,那下面这篇系统长文会很适合你,建议先收藏。Excel 是数据分析中最常... -
使用python计算CSV文件数据的持续时间和平均值
2021-03-06 23:06:58我来演示一下:假设您在file.csv中保存了下一个数据文件:2013-07-18 04:54:15.871 UDP 172.12.332.11:20547 172.12.332.11:20547 -> 172.56.213.80:53 CREATE Ignore 02013-07-18 04:54:15.841 UDP 19... -
如何通过Python从CSV过滤掉特定数据?
2021-07-16 18:49:00解决方案 Here's a solution in pure python that writes the filtered output to a textfile (csv) as requested. import csv with open('games.csv', 'rb') as csvfile: # handle header line, save it for ... -
Python读取CSV成数据框并进行筛选和相关性检验
2019-09-27 17:14:24一、第一种方法读取后为list,再转化为数据框 import csv from pandas.core.frame import DataFrame csv_file=csv.reader(open('合并.csv','r')) content=[] #用来存储整个文件的数据,存成一个列表,列表的每一个... -
用python处理csv文件的重复值
2021-10-14 22:14:18原始数据 # -*- coding: utf-8 -*- """ Created on Thu Oct 14 22:09:50 2021 @author: Machi """ import pandas as pd df = pd.read_csv('data.csv') df1 = df['x'].drop_duplicates() print(df) print() ... -
Python批量处理csv文件(筛选列)
2020-12-09 16:59:27批量读取同一文件夹下的csv文件,进行数据处理(这里是挑选需要的列向量,生成新文件),保存到新文件夹(csv文件同名) 代码 #!/user/bin/env python3 # -*- coding: utf-8 -*- import os import re import ... -
Python数据分析基础-csv
2021-03-09 16:29:13csv(input_file)#读取csv文件 print(data_frame) data_frame.to_csv(output_file,index=False)#输出csv文件内容 当数据出现错误,有多余的数据使用’,'分隔采用python内置模块csv模块进行处理 基于Python,使用csv... -
SQL第五周学习笔记---csv数据、python对csv数据操作、sql对csv文件操作
2021-08-08 15:39:47作者:高源 ...文章目录.csv数据python对.csv数据进行操作一、将数据写入csv文件中二、从csv文件中读取数据通过SQL对csv文件操作1.创建测试表:m_test2.aa.csv3.读取aa.csv到m_test表 .csv数据 逗号分隔. -
使用Python从CSV文件中查找中值
2020-12-21 02:59:04我有一个名为'工资.csv'文件内容如下:City,Job,SalaryDelhi,Doctors,500Delhi,Lawyers,400Delhi,Plumbers,100London,Doctors,800London,Lawyers,700London,Plumbers,300Tokyo,Doctors,900Tokyo,Lawyers,800Tokyo,...