python基础——csv格式

csv格式是电子表格和数据库中常用的输入输出的文件格式,以逗号为分隔符隔开,可以使用excel查看

csv读写方法:
“r” 只读,如果文件不存在,报错
“w” 只写,如果文件不存在,自动创建
“a” 追加 写在文件的末尾,如果文件不存在,自动创建

csv写入文件
方法1:
import csv

# 创建一维数组用于单行写入
header = ["name", "sex", "age", "address"]

# 创建二维数组用于多行写入
xx = [["xiaogu", "man", 18, "zk"], 
      ["xiaolu", "woman", 20, "wlk"],
      ["laowang", "man", 30, "zk"]]

with open("xiaogu.csv", "w", newline="") as f:  # 不加newline参数在Windows下可能出现多余的空行
	writer = csv.writer(f)  # 创建writer对象
	writer.writerow(header)  # 单行写入
	writer.writerows(xx)  # 多行写入

输出:
name,sex,age,address
xiaogu,man,18,zk
xiaolu,woman,20,wlk
laowang,man,30,zk
方法2:
import csv

# 创建一维数组用于单行写入
header = ["name", "sex", "age", "address"]

# 创建一维数组,每个元素由字典组成,用于多行写入
yy = [{"name": "xiaogu", "sex": "man", "age": 18, "address": "zk"},
      {"name": "xiaolu", "sex": "woman", "age": 20, "address": "wlk"},
      {"name": "laowang", "sex": "man", "age": 30, "address": "zk"}]

with open("xiaogu.csv", "w", newline="") as f:
	writer = csv.DictWriter(f, header)  # 使用字典形式写入,注意格式
	writer.writeheader()  # 必须调用writeheader方法写入(强调)
	writer.writerows(yy)  # 调用writerows多行写入

输出:
name,sex,age,address
xiaogu,man,18,zk
xiaolu,woman,20,wlk
laowang,man,30,zk

注意:在方法2中如果header没有写进去(即没有调用writeheader方法)下边的多行写入会出问题,因为字典中的key使用的是header中的元素,他们之间是一一对应关系

csv读取文件
import csv

with open("xiaogu.csv") as f:  # 不写读写方式默认为只读
	rows = csv.reader(f)  # 获取一个可迭代对象
	for xh, row in enumerate(rows, 1):  # 文件中的每一行以一个列表形式输出,逗号隔开的为列表中的元素
		print(xh, row)

输出:
1 ['name', 'sex', 'age', 'address']
2 ['xiaogu', 'man', '18', 'zk']
3 ['xiaolu', 'woman', '20', 'wlk']
4 ['laowang', 'man', '30', 'zk']
发布了36 篇原创文章 · 获赞 2 · 访问量 938

猜你喜欢

转载自blog.csdn.net/zzrs_xssh/article/details/104293278