python处理csv
⑴ 如何用python 读写 csv
csv文件就是按逗号分隔的文本, 可以用python自带的读取文本的方式, 不过我推荐用pandas包, 读写都很方便
#coding=utf-8
#传统方式
#读
f1=open('1.csv','r').readlines()
result=map(lambdax:x.strip().split(','),f)
#写
f2=open('1.csv','w')
f2.write('whatyouwanttowrite')
#pandas方法
importpandasaspd
#读
result=pd.read_csv('1.csv')#result被转化为DataFrame对象
#写
#写的时候可以操作result这个DataFrame对象,类似excel的表格,十分方便
result[0,0]=1
result.to_csv('2.csv')#将修改后的DataFrame保存为一个新的csv或者你想替换1.csv也可以
粗略介绍了一点, 如果有不懂的, 请追问.
⑵ python中怎么处理csv文件
什么是CSV
就是内容用逗号隔开,后缀是‘.csv’的文件。它可以被任何一个文本编辑器打开。如果用excel打开,它又可以是这样的:
END
读CSV
典型的可处理的csv文件,通常含有表头,也就是每列的列名。这样一来,每一行的内容就可以被当作是以表头为key的字典。于是可以使用csv定义的类:
class csv.DictReader(csvfile, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds)
下面是官方的例子(Python 3)。我们看到,对于csv文件的内容,我们可以通过相应的tag,也就是字典的key来读取。
在实际使用过程中,为了分离代码和方便阅读,可以先把读取的内容转存到列表,随后再根据各个key进行分开处理(针对多列的情况)。
END
写CSV
同样的,写入的也是列表。使用的类:
class csv.DictWriter(csvfile, fieldnames, restval='', extrasaction='raise', dialect='excel', *args, **kwds)
官方例子:我们看到,有专门的函数来写入表头,没有表头数据是无法对应的。需要注意的是,对于下列语句,‘w’需要修改为‘wb’,否则每次写入会有多余空行
with open('names.csv', 'wb') as csvfile
⑶ python3.x处理csv文件
#-*-coding:UTF-8-*-
from__future__importdivision
importcsv
#csv_reader=csv.reader(open('data.csv','rb'))
#建个list举例。
csv_reader=[[1,2,0.5],[2,3,2.5],[3,4,3.5]]
dat=0
total=0.0
datmin=0
forrowincsv_reader:
dat2=row[-1]
ifdat2<0.95:
printdat2
datmin+=1
total=total+dat2
dat+=1
#printdatmin
aver=total/dat
minto=datmin/dat
print'averageis%s'%aver
print'lessthen0.95is%s'%minto
⑷ python怎么读取csv文件
csv文件就是用逗号分隔的文本文件,和文本文件的读取方式相同。
如果csv文件都是数值,想要将其转为列表,可采用如下程序实现:
# csv_file
f=open('abc.txt','r')
lines=f.readlines()
print(lines)
f.close()
list1=[]
for line in lines:
for i in line.split(','):
list1.append(int(i))
print(list1)
⑸ 用python处理csv文件,最好可以将里面的文本信息转成一个二维数组的形式,具体如下
思路如下:
导入csv库;
打开文件,并用csv库函数reader读入数据;
csv读入的数据是一行一行的,所以通过循环语句把读到的数据放入到数组里
importcsv#必要库导入
filepath='test.csv'#定义文件名称,本文件要与当前的.py文件要在同一文件夹下,不然要用绝对路径
withopen(filepath,'r')ascsvfile:#打开数据文件
reader=csv.reader(csvfile)#用csv的reader函数读取数据文件
header=next(reader)#读取数据文件的表头
data=[]#定义一个空数组用于保存文件的数据
forlineinreader:#循环读取数据文件并保存到数组data中
data.append(line)#line是个一维数组,是数据文件中的一行数据
print(header)#表头
print(data)#读取的二维数组
⑹ csv文件怎么打开 使用Python读取和写入CSV文件
csv文件本质上是一个文本文件,具体的读取和写入方法有两种:
直接对csv文件进行文件读写操作,每一行是一条记录,按行读取即可,简单代码如下:
with open("XXX.csv","wr") as f:
f.readline()
f.write()
2.使用第三方库中的csv文件读写函数(本质上还是使用python的文件读写方法),如科学计算包pandas包中就有read_csv() to_csv()等函数,其他的一些第三方包里也有,可以自行查询。
两种方法各有优劣,第一种方法的优点就是可控性强,但是代码相对较多,对于python2编码处理很麻烦;第二种方法的优点是代码量小,调用方便,处理编码问题相对容易(在函数中加一个encoding参数即可),但是代码内部比较复杂,可控性较差
⑺ 如何用python对csv文件进行数组循环处理
使用 python list即可,因为list可以加入不同的数据类型的数据。
results=list()
lines=open('cvs_file','r').readlines()
forlineinlines:
elements=line.strip().split(',')#supposedlimiteris','
foreinelements:
try:
results.append(float(e))
except:
continue
#
#,soyouneedto
#converseitwithfloatoperator.Butifelementisreadstring
#.
⑻ python读取csv出错怎么解决
Python用pandas的read_csv函数读取csv文件。
相关推荐:《Python基础教程》
首先,导入pandas包后,直接用read_csv函数读取报错OSError,如下:
解决方案是加上参数:engine='python'。
运行之后没有报错,正在我欣喜之余,输出一下data.head()想看看数据时候,看到了心痛的感觉,数据乱码了。
然后,一通网络,解决方案是加上参数:encoding=‘utf-8’。结果,这回数据成这样了:
感受到我心累的感觉了吧。
后来我发现,两个解决方案:
第一个:关掉Anaconda,重启Anaconda之后再使用pd.read_csv()加上参数:engine='python'之后就成功了。
第二个:将文件名改为英文名之后直接使用pd.read_csv()就成功了。
⑼ Python如何读取csv文件某一列的每一行数据,并判断该数值是否满足条件
读取csv文件,用的是csv.reader()这个方法。返回结果是一个_csv.reader的对象,我们可以对这个对象进行遍历,输出每一行,某一行,或某一列。代码如下:
⑽ 怎么用python读取csv数据
python 自带 csv 框架。
#读取csv文件
importcsv
withopen('some.csv','rb')asf:#采用b的方式处理可以省去很多问题
reader=csv.reader(f)
forrowinreader:#dosomethingwithrow,suchasrow[0],row[1]
importcsv
withopen('some.csv','wb')asf:#采用b的方式处理可以省去很多问题
writer=csv.writer(f)
writer.writerows(someiterable)