csv释义
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本(NOTE)来开启,再则先另存新档后用EXCEL开启,也是方法之一。
读取csv文件
reader(filename),可以使用reader()方法来创建一个对象从csv文件中读取数据。
官方文档:csv.reader(csvfile, dialect='excel', **fmtparams) //csvfile是任何可以迭代的对象(如果是文件对象则用newline=''来打开它),dialect翻译为方言用于定制解析器来解析数据,**fmtparams为解析器参数
读文件时,输入数据的每一行都会解析,并返回一个列表
创建一个csv文件写入如下数据,python读取:
>>> with open('test.csv','r',newline='') as csvfile: ... reader = csv.reader(csvfile)>>> for i in reader: ... print(i) ... ['name', 'tel', 'address', 'age'] ['zhang', '15111111111', 'beijing', '33'] ['li', '13822222222', 'wuhan', '28'] ['liu', '15933333333', 'hainan', '25']
写csv文件
writer(filename),使用writer方法来写数据
csv.writer(csvfile, dialect='excel', **fmtparams) //参数与读完全基本相同
写一段代码来测试
import csv with open('test1.csv','w',newline='') as f: writer = csv.writer(f) writer.writerow(('name', 'tel', 'address', 'age')) writer.writerow(('zhang', 15111111111, 'beijing', 33)) writer.writerow(('li', 13822222222, 'wuhan', 28)) writer.writerow(('liu', 15933333333, 'hainan', 25)) with open('test1.csv','r',newline='') as f: reader = csv.reader(f) for i in reader: print(i)
结果:
['name', 'tel', 'address', 'age']
['zhang', '15111111111', 'beijing', '33']
['li', '13822222222', 'wuhan', '28']
['liu', '15933333333', 'hainan', '25']