1. 读取csv 文件
- reader:返回一个列表,通过下标获取某一列值
- DictReader:返回一个字典,通过key值获取某一列值
import csv
with open('stock.csv', 'r', encoding='gbk') as fp:
reader = csv.reader(fp)
for x in reader:
print(x)
print(x[3])
with open('stock.csv', 'r', encoding='gbk') as fp:
reader = csv.DictReader(fp)
for x in reader:
# print(x)
print(x['secShortName'])
2. 写入csv 文件
- writerow:列表一行写入
- writerows:列表多行写入
- DictWriter:使用字典方式写入数据
import csv
headers = ('name', 'age', 'height')
student = [
('张三', 12, 160),
('张三', 13, 170),
('张三', 14, 180),
]
students = [
{"name":'张三', "age": 12, "height": 160},
{"name":'张三', "age": 13, "height": 170},
{"name":'张三', "age": 14, "height": 180}
]
#newline=''使一行写入后不会换行, 否则行行之间有一行空行
with open('student.csv', 'w', encoding='utf-8', newline='') as fp:
writer = csv.writer(fp)
writer.writerow(headers)
# for i in student:
# writer.writerow(i)
writer.writerows(student)
with open('student.csv', 'w', encoding='utf-8', newline='') as fp:
writer = csv.DictWriter(fp, headers)
# 虽然DictWriter 创建时有一个headers, 但是真正写入表头数据还是需要调用writer.writeheader()方法
writer.writeheader()
writer.writerows(students)