python文件读取---CSV文件的读取操作

 1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 
 4 #1.当做普通文件直接读取
 5 with open("123.csv","r",encoding="utf-8") as f:
 6     print(f.read()) #读取所有
 7     f.seek(0) #光标移动到最开始位置
 8     print(f.readline()) #读取一行
 9     print(f.readline(15)) #读取一行的前N个字符
10     print(f.readlines()) #以列表形式读取每一行
11 
12 #2.转换为csv对象读取
13 import csv
14 with open("123.csv","r",encoding="utf-8") as f:
15     reader = csv.reader(f)
16     for line in reader: #一行一行的读取,每一行都以列表形式存储
17         print(line)
18 
19 #3.转换为字典对象,按键值读取某一列
20 import csv
21 with open("123.csv","r",encoding="utf-8") as f:
22     reader = csv.DictReader(f)
23     for line in reader:
24         print(dict(line),dict(line)["主观评分"])
25 
26 
27 #4.写入数据为一个header和一组values
28 import csv
29 
30 header = ['name','age']
31 value1 = ['Tom',20]
32 value2 = ['张三',15]
33 value3 = [['李四',18],['王五','']]
34 
35 with open('234.csv','a',newline='',encoding='utf-8-sig') as f:
36     writer = csv.writer(f)
37     writer.writerow(header) #一次写入一行
38     writer.writerow(value1)
39     writer.writerow(value2)
40     writer.writerows(value3) #一次写入多行
41 
42 #5.写入数据为字典
43 import csv
44 
45 values = [{'name': 'jack', 'age': '15'},{'name': 'tom', 'age': '16'}]
46 header = list(values[0].keys()) #从字典数据中获取头部信息
47 with open("456.csv","a+",newline='',encoding="utf-8-sig") as f:
48     writer = csv.DictWriter(f,header) #传2个参数,第一个参数为打开的.csv文件句柄,第二个参数为要写的表头
49     writer.writeheader() #写入表头的专用方法,这里也可以使用writer.writerow(header)
50     writer.writerows(values)

 

posted @ 2020-10-14 08:04  奔腾的公牛  阅读(654)  评论(0)    收藏  举报