赞
踩
CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本
格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件,它的使用是比
较广泛的(Kaggle上一些题目提供的数据就是csv格式),csv虽然使用广泛,但却没有通用的标准,所以在处理csv
格式时常常会碰到麻烦,幸好python内置了csv模块。下面简单介绍csv模块中最常用的一些函数。
reader(csvfile, dialect='excel', **fmtparams)
参数说明:
e.g:
import csv
with open('marks.csv') as myFile:
lines=csv.reader(myFile)
for line in lines:
print line
解释:
open()返回了一个文件对象
myFile,reader(myFile)只传入了第一个参数,另外两个参数采用缺省值,即以excel风格读入。reader()返回一个
reader对象lines,lines是一个list,当调用它的方法lines.next()时,会返回一个string。上面程序的效果是将csv
文件中的文本按行打印,每一行的元素都是以逗号分隔符','分隔得来。open()返回了一个文件对象
myFile,reader(myFile)只传入了第一个参数,另外两个参数采用缺省值,即以excel风格读入。reader()返回一个
reader对象lines,lines是一个list,当调用它的方法lines.next()时,会返回一个string。上面程序的效果是将csv
文件中的文本按行打印,每一行的元素都是以逗号分隔符','分隔得来。
writer(csvfile, dialect='excel', **fmtparams)
e.g:
with open('t.csv','wb') as myFile:
myWriter=csv.writer(myFile)
myWriter.writerow([7,'g'])
myWriter.writerow([8,'h'])
myList=[[1,2,3],[4,5,6]]
myWriter.writerows(myList)
'w’表示写模式。
首先open()函数打开当前路径下的名字为’t.csv’的文件,如果不存在这个文件,则创建它,返回myFile文件对象。
csv.writer(myFile)返回writer对象myWriter。
writerow()方法是一行一行写入,writerows方法是一次写入多行。
注意:如果文件’t.csv’事先存在,调用writer函数会先清空原文件中的文本,再执行writerow/writerows方法
带字段的读写:
datas = [{'name': 'Bob', 'age': 23},{'name': 'Jerry', 'age': 44},{'name': 'Tom', 'age': 15} ]
with open('test_csv_data.csv', 'w', newline='') as f:
writer = csv.DictWriter(f, ['name', 'age'])# 标头在这里传入,作为第一行数据
writer.writeheader()
for row in datas:
writer.writerow(row)
# 还可以写入多行
writer.writerows(datas)
import csv
with open('test_csv_data.csv','r') as f:
reader = csv.DictReader(f)
for row in reader:
print(row['name'], row['age'])
with语句, with open(filename) as f: 不用f.close()关闭
numpy 和 panda 搭配 对数据进行处理,然后再搭配 matolot 画图,最强的配合
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。