文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python学习笔记——csv文件

2023-10-12 08:19

关注

目录

一、csv文件和Excel文件区别

二、手动转换(文本与列表)

①普通的写(列表嵌套转成文本的表格形式)

②普通的读(文本的表格形式转成列表嵌套)

 二、csv库-读

1、CSV库-读-reader()

2、CSV库-读-DictReader()

 

三、csv库-写

1、CSV库-写-列表形式

2、CSV库-写-字典形式


一、csv文件和Excel文件区别

关键区别:

CSV是一种用于将表格信息保存到扩展名为.csv的带分隔符的文本文件中的格式,而Excel是一种电子表格,可以将文件保留为其专有格式,即xls或xlsx。

CSV是纯文本格式,具有一系列用逗号分隔的值,而Excel是一个二进制文件,其中包含有关工作簿中所有工作表的信息。

CSV文件无法对数据执行操作,而Excel可以对数据执行操作。

CSV文件更快,并且消耗的内存更少,而Excel在导入数据时消耗的内存更多。

可以使用Windows中的任何文本编辑器打开CSV文件,而不能使用文本编辑器打开Excel文件。

相似之处:

两者都可以在电子表格程序中打开

两者都以表格格式(即列和行)存储数据

两者都可以使用Excel中的功能来操纵。

二、手动转换(文本与列表)

①普通的写(列表嵌套转成文本的表格形式)

a = [['姓名','年龄','身高','体重','分数'],     ['a1', '10', '150', '40', '98'],     ['a2', '8', '163', '46', '86'],     ['a3', '11', '160', '55', '92']]file = open('a.csv',mode='w')for i in a:    file.write(','.join(i)+'\n')file.close()

 

 

②普通的读(文本的表格形式转成列表嵌套)

a = []file = open('a.csv',mode='r')lines = file.readlines()#获取每一行,一行一个列表。for i in lines:    a.append(i.replace('\n','').split(','))#字符串去换行,字符串转列表file.close()print(a)

[['姓名', '年龄', '身高', '体重', '分数'], ['a1', '10', '150', '40', '98'], ['a2', '8', '163', '46', '86'], ['a3', '11', '160', '55', '92']]

 二、csv库-读

1、CSV库-读-reader()

以列表的形式读取数据,不用手动处理换行和转列表。

import csv#自带的库a = []file = open('a.csv',mode='r')msg_list = csv.reader(file)for i in msg_list:    a.append(i)file.close()print(a)

2、CSV库-读-DictReader()

除了第一行,每一行是一个字典。

import csv#自带的库file = open('a.csv',mode='r')msg_dic = csv.DictReader(file)for i in msg_dic:#遍历列表(msg_dic相当于列表)    print(dict(i))#每一行是一个字典file.close()

 

三、csv库-写

1、CSV库-写-列表形式

csv.writer(file)#传入打开的文件writerow(list)#传入列表writerows(lists)#传入嵌套列表

 csv文件写入时出现空行问题:设置newline=''

file = open('demo.csv', 'w', newline='')
import csv  # 自带的库a = [['姓名', '年龄', '身高', '体重', '分数'],     ['a1', '10', '150', '40', '98'],     ['a2', '8', '163', '46', '86'],     ['a3', '11', '160', '55', '92']]file = open('a2.csv',mode='w')csv_writer = csv.writer(file)csv_writer.writerows(a)file.close()

2、CSV库-写-字典形式

csv.DictWriter(file,head_list)#传入打开的文件,传入标题列表writeheader()#写入表头,不需要单独传入参数writerows(lists)#传入列表,列表里套着字典。
import csv  # 自带的库a = [{'姓名': 'a1', '年龄': '10', '身高': '150', '体重': '40', '分数': '98'},    {'姓名': 'a2', '年龄': '8', '身高': '163', '体重': '46', '分数': '86'},    {'姓名': 'a3', '年龄': '11', '身高': '160', '体重': '55', '分数': '92'}]a_head = ['姓名', '年龄', '身高', '体重', '分数']file = open('a2.csv',mode='w')csv_writer = csv.DictWriter(file,a_head)csv_writer.writeheader()csv_writer.writerows(a)file.close()

来源地址:https://blog.csdn.net/tscaxx/article/details/129189742

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯