首页 > 编程语言 >python-CSV文件的读写

python-CSV文件的读写

时间:2022-09-28 18:35:13浏览次数:45  
标签:文件 csv python 读写 writer 写入 file CSV

CSV文件:Comma-Separated Values,中文叫逗号分隔值或者字符分隔值,其文件以纯文本的形式存储表格数据.
可以理解成一个表格,只不过这个 表格是以纯文本的形式显示,单元格与单元格之间,默认使用逗号进行分割;每行数据之间,使用换黄进行分割。

理解
桌面创建一个Excel文件,写入数据,打开
在这里插入图片描述
然后如果我们让这个Excel的打开方式以记事本打开的话,就会出现乱码情况,可以得出xlsx文件在写的时候不是以纯文本的格式写的

在这里插入图片描述

然后再创建一个文本文件.txt文件,写入内容
注意,文本里的 逗号要用英文状态的

在这里插入图片描述
后缀改成.csv格式的,然后打开,会变成表格形式

在这里插入图片描述

然后csv文件再以记事本打开

在这里插入图片描述

Python中的csv模块,提供了相应的函数,方便我们读写csv文件

CSV文件的写入

pycharm创建一个csn文件,就会出现语法高亮,根据使用pycharm版本的不同,会出现不同的效果,专业版还会出现表格的效果
在这里插入图片描述

"""
注意写入文件的时候要有编码格式,不然会出现乱码,
windows默认是gbk,用utf-8读的时候就会出现乱码,所在在写之前就把编码设置成utf-8
"""

# -*- coding: UTF-8 -*-  @Date :2022/9/17 11:54

import csv  # 内置模块

#newline默认有空行,设置newline='',就没有空行
file = open('demo.csv', 'w',encoding='utf-8',newline='')  # 打开一个文件

#调用writer方法,传入csv文件对象,得到的是一个CSVWriter对象
writer = csv.writer(file)  # 拿到一个writer对象

#调用CSVWriterow方法,一行一行的写数据
writer.writerow(['name', 'age', 'score','city'])  # 写数据,writerow写一行
writer.writerow(['zhangsan', 20, 95,'纽约'])  # 写数据,writerow写一行

#writerows方法,一次性可以写入多行
writer.writerows([
    ['name', 'age', 'score','city'],
    ['zhangsan', 20, 95,'纽约'],
    ['lisi',19,90,'阳高']
    ]
)

file.close()

CSV文件的读取

# -*- coding: UTF-8 -*-  @Date :2022/9/17 12:55

import  csv

file=open('info.csv','r',encoding='utf8',newline='')

#调用csv模块的reader方法,得到一个可迭代对象
r=csv.reader(file)

#对结果进行遍历,获取结果里每一行的数据
for data in r:
    print(data)


file.close()

标签:文件,csv,python,读写,writer,写入,file,CSV
From: https://www.cnblogs.com/saury/p/16739170.html

相关文章

  • python-py文件打包成exe可执行文件
    方法一::打包完成后可以直接被他人使用,他人不用安装python环境的可以使用pyinstaller模块实现将python项目打包成exe执行文件"""先安装模块1.pipinstallpyinstaller......
  • python-面向对象属性的访问与self的理解
    属性访问类属性与对象属性在类中定义的名字,都是类的属性,细说的话,类有两种属性:数据属性和函数属性,可以通过__dict__访问属性的值,比如Person1.__dict__['student'],但Python......
  • python-面向过程与函数式
    面向过程与函数式面向过程”面向过程“核心是“过程”二字,“过程”指的是解决问题的步骤,即先干什么再干什么......,基于面向过程开发程序就好比在设计一条流水线,是一种机......
  • 学习Python之变量
    一、变量的使用1、单个变量#变量aa="Helloworld1!"print(a)2、多个变量#变量aa="Helloworld1!"print(a)#变量bb="Helloworld2!"print(b)3、单个变量替换#变量aa="H......
  • Pythontext_3
    1实例一:输出每日一帖2importdatetime#导入日期时间表3#定义一个列表4mot=["今天星期一:\n坚持下去不是因为我很坚强,而是......
  • Python字节流,字符串,16进制相互转换
    python版本:Python3.81.字节流转成字符串2.字符串变字节流3.16进制字节流变成字节流4.16进制字符串变成字符串字节流 ......
  • 8、python正式篇 for循环和range的使用
    目录一、while循环补充说明1、死循环2、嵌套及全局标志位二、for...循环1、for...循环特点2、for...循环语法结构三、range方法1、什么是range2、不同版本python,range区别3......
  • Python 基础入门(六)
    Python基础入门(六)目录Python基础入门(六)一、while循环补充说明1、死循环2、嵌套及全局标志位二、流程控制之for循环for循环特点不同取值类型结果三、range方法一、while......
  • Python 变量,注释,字符串,快捷键
    Python学习其他语言通过括号,大括号表示各个模块所属关系,而python是通过缩进,所以缩进对于python尤为重要1.变量1.1和其它语言不同,python中变量不用提前声明,每个语句之后......
  • 基于Python的socket套接字的简单使用
    socket:进行应用程序之间的网络信息交互的工具几乎市面上所有具有网络通讯功能的软件,底层都使用了socket两个进程,分别开启sokcet服务,使用scoket可以在进程间进行通讯......