大家好,又见面了,我是你们的朋友全栈君。
?作者简介:苏凉(专注于网络爬虫,数据分析)
?博客主页:苏凉.py的博客
?系列专栏:Python基础语法专栏
?名言警句:海阔凭鱼跃,天高任鸟飞。
?要是觉得博主文章写的不错的话,还望大家三连支持一下呀!!!
?关注✨点赞?收藏?
文章要点
每日推荐
给大家推荐一款神器。无论你是学生党还是上班族都可以使用,这里涵盖了面试题库,在线刷题,各个大厂的面试/笔试真题等。如果你还是学生,最重要的一点就是模拟面试功能,智能AI1v1面试,帮助你早日拿到大厂offer!点击链接即可直达!=>牛客网-找工作神器
前言
CSV(Comma-Separated Values)即逗号分隔值,一种以逗号分隔按行存储的文本文件,所有的值都表现为字符串类型(注意:数字为字符串类型)。
如果CSV中有中文,应以utf-8编码读写.
1.导入CSV库
python中对csv文件有自带的库可以使用,当我们要对csv文件进行读写的时候直接导入即可。 |
import csv
2.对CSV文件进行读写
2.1 用列表形式写入CSV文件
语法:csv.writer(f):
writer支持writerow(列表)单行写入,和writerows(嵌套列表)批量写入多行,无须手动保存。
import csv
header = ['name','age','QQ_num','wechat']
data = [['suliang','21','787991021','lxzy787991021']]
with open ('information.csv','w',encoding='utf-8',newline='') as fp:
# 写
writer =csv.writer(fp)
# 设置第一行标题头
writer.writerow(header)
# 将数据写入
writer.writerows(data)
结果:
注意,打开文件时应指定格式为w, 文本写入.
打开文件时,指定不自动添加新行newline=‘’,否则每写入一行就或多一个空行。
2.2 用列表形式读取CSV文件
语法:csv.reader(f, delimiter=‘,’)
reader为生成器,每次读取一行,每行数据为列表格式,可以通过delimiter参数指定分隔符
import csv
with open('information.csv',encoding='utf-8')as fp:
reader = csv.reader(fp)
# 获取标题
header = next(reader)
print(header)
# 遍历数据
for i in reader:
print(i)
结果:
读取文件时文件路径务必要写对,不确定时可写绝对路径。要获取csv的内容则需要遍历再输出。
2.3 用字典形式写入csv文件
语法:csv.DicWriter(f):
写入时可使用writeheader()写入标题,然后使用writerow(字典格式数据行)或writerows(多行数据)
import csv
header = ['name','age']
data = [{
'name':'suliang','age':'21'},
{
'name':'xiaoming','age':'22'},
{
'name':'xiaohu','age':'25'}]
with open ('information.csv','w',encoding='utf-8',newline='') as fp:
# 写
writer =csv.DictWriter(fp,header)
# 写入标题
writer.writeheader()
# 将数据写入
writer.writerows(data)
结果:
2.4 用字典形式读取csv文件
语法:csv.DicReader(f, delimiter=‘,’)
直接将标题和每一列数据组装成有序字典(OrderedDict)格式,无须再单独读取标题行
import csv
with open('information.csv',encoding='utf-8')as fp:
reader = csv.DictReader(fp)
for i in reader
print(i)
结果:
附:csv读写的模式
r:以读方式打开文件,可读取文件信息
w: 已写方式打开文件,可向文件写入信息。如文件存在,则清空,再写入
a:以追加模式打开文件,打开文件可指针移至末尾,文件不存在则创建
r+:以读写方式打开文件,可对文件进行读和写操作
w+:消除文件内容,以读写方式打开文件
a+:以读写方式打开文件,文件指针移至末尾
b:以二进制打开文件
结语
csv的读写就介绍到这里啦,希望能对你有所帮助。
关注我咱们下期再见!!
更多题库和知识点总结,面试技巧请看=>牛客网,快来和我一起刷题吧!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162461.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...