1 importcsv2 data =[3 #使用数字和字符串的数字都可以
4 ("ken","mafe",23),5 ("Tame","maee",29),6 ("Js","dggd",26)]7 with open("d://test.csv",'w',newline='')as t_file:8 csv_writer =csv.writer(t_file)9 for l indata:10 csv_writer.writerow(l)
第二步运行py文件之后,我们可以看到d盘已经创建了test.csv文件,如下图所示:
第三步打开test.csv文件,可以看到已经将内容写入到csv文件中了:
上面就简单介绍了csv的写,下面来看一下csv读的方法:
第一步,输入
1 importcsv2 reader =csv.reader(open('d://test.csv'))#打开
3 for list inreader:4 print(list)
第二步运行py文件,可以看到读取了csv文件内容,这里需要注意的是如果直接将excel表格后缀名改为csv文件,读取的时候,会出现编码错误
在上面,list是一个列表,如果想要查看固定的某列,则需要加上下标,例如我想要查看age,那么只需要改为list[1]
补充:
在写入字典序列类型数据的时候,需要传入两个参数,一个是文件对象——f,一个是字段名称——fieldnames,到时候要写入表头的时候,只需要调用writerheader方法,写入一行字典系列数据调用writerrow方法,并传入相应字典参数,写入多行调用writerows
1 importcsv2 header=['name','age']3 data =[4 {'name':'mafe','age':23},5 {'name':'maee','age':29},6 {'name':'dggd','age':26}]7 with open("d:\\test.csv",'w',newline='')as t_file:8 #表头在这里传入,作为第一行数据
9 writer =csv.DictWriter(t_file,header)10 writer.writeheader()11 for l indata:12 writer.writerow(l)
再打开test.csv结果如下:
假设csv文件的内容如上图图所示,用DictReader来读取它
DictReader会将第一行的内容(类标题)作为key值,第二行开始才是数据内容。即图中的csv文件有2列4行数据,第一列的key值为name,第二列的key值为age:
1 importcsv2 with open('d://test.csv',encoding='utf-8')as f:3 reader =csv.DictReader(f)#字典表 DictReader 列表读取
4 headers =next(reader)#迭代一次
5 print(headers)6 for row inreader:7 print(row)
运行结果如下:
最后提醒一下:
read方法的使用:打印出来的结果是数组类型,有文件中几行数据就打印几个数组,不区分表头和值
DictReader方法的使用:打印出来的数据是字典类型,表格的表头为键、每一行的值为值,值有几行就打印几个字典