python学习站 /学习python第三周
阅读主题
正文字体
字体大小

34.csv文件操作

本节1286字2025-04-12 16:13:19
"""
Auther:少校
Time:2025/4/12 14:01
越努力,越幸运
"""
#csv文件又叫逗号分隔值文件,文件内容以行列的形式存在,每一行用逗号将每一列的数据隔开。
from csv import reader , DictReader
# 1. csv文件读操作
# 1) 打开csv文件
f = open("./ceshi/链家深圳二手房.csv","r",encoding="utf-8")

# 2) 创建reader对象
# a.使用reader创建reader对象  -  结果是文件内容对应的生成器对象,元素是每一行内容对应的列表
data1 = reader(f)
#print(next(data1))  #每次读取一行
#print(list(data1))  #转换成大列表,每行内容一个小列表
# b.使用DictReader创建reader对象, - 结果是文件内容对应的生成器对象,元素是每一行内容对应的字典
data2 = DictReader(f)
print(next(data2))   #每次读取一行,从第二行开始读,第一行是每个返回字典的键,第二行内容是对应的值。
print(list(data2))       #转换成列表,列表内的每个元素就是每行的字典

# 2. csv文件写操作
from csv import writer,DictWriter

# 1)以写的方式打开文件
f = open("./ceshi/ceshi.csv","w",encoding="utf-8",newline="") #newline如果不写 每次会空格一行

# 2)创建writer对象
# a.  writer(文件对象)
w1 = writer(f)

# 3)写入数据
#a. 一次写入一行文件
w1.writerow(["姓名","年龄","性别","电话"])
w1.writerow(["小明","18","男","1111234567"])
#b. 一次写入多行文件 #一个大列表,每行内容一个小列表
w1.writerows([
    ["张三",20,"男","2346"],
    ["李四",20,"女","3456"],
])

# 3.1)使用 DictWriter
# a.创建写入对象, 写入数据    -       每行数据对应一个字典
w2 = DictWriter(f,["姓名","年龄","性别","电话"])  #第一行数据
# b.写入数据
#将字典作为第一行写入文件
w2.writeheader()
#一行一行的写入数据
w2.writerow({"姓名":"张胜男","年龄":18})
#同时写入多行数据 列表,每行一个字典
w2.writerows([
{"姓名":"张胜男","年龄":18},
{"姓名":"张胜男","年龄":18},
])


网友评论

相关作品