在python中读取和写入CSV文件详情

作者:苏凉.py 时间:2021-01-21 22:34:51 

前言

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)

结果:

在python中读取和写入CSV文件详情

注意:打开文件时应指定格式为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)

结果:

在python中读取和写入CSV文件详情

读取文件时文件路径务必要写对,不确定时可写绝对路径。要获取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)

结果:

在python中读取和写入CSV文件详情

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)

结果:

在python中读取和写入CSV文件详情

附:csv读写的模式

  • r:以读方式打开文件,可读取文件信息

  • w: 已写方式打开文件,可向文件写入信息。如文件存在,则清空,再写入

  • a:以追加模式打开文件,打开文件可指针移至末尾,文件不存在则创建

  • r+:以读写方式打开文件,可对文件进行读和写操作

  • w+:消除文件内容,以读写方式打开文件

  • a+:以读写方式打开文件,文件指针移至末尾

  • b:以二进制打开文件

来源:https://blog.csdn.net/weixin_46277553/article/details/124383210

标签:python,读取,写入,CSV,文件
0
投稿

猜你喜欢

  • sqlserver 索引的一些总结

    2012-08-21 11:03:31
  • PHP _construct()函数讲解

    2023-06-14 16:56:43
  • 如何得到数据库中所有表名 表字段及字段中文描述

    2012-01-05 18:56:44
  • Oracle9i的全文检索技术开发者网络Oracle

    2010-07-18 13:22:00
  • js中如何对url进行编码和解码

    2023-07-22 03:45:08
  • GoFrame框架gset使用对比PHP Java Redis优势

    2023-11-24 04:08:58
  • python用moviepy对视频进行简单的处理

    2023-08-03 07:02:15
  • php指定长度分割字符串str_split函数用法示例

    2023-07-08 23:25:51
  • smarty简单分页的实现方法

    2023-11-21 08:59:48
  • MSSQL数据库排序规则如何更改

    2023-07-01 11:09:58
  • python将视频转换为全字符视频

    2023-08-08 21:01:02
  • Myeclipse链接Oracle等数据库时lo exception: The Network Adapter could not establish the connection

    2023-07-19 12:40:02
  • asp如何用ADO批量更新记录?

    2010-06-10 18:42:00
  • mysql 获取表有多少列

    2010-10-14 13:44:00
  • go之如何设置GOROOT和GOPATH

    2023-07-19 21:27:24
  • Go语言文件开关及读写操作示例

    2023-08-05 19:47:27
  • apache+mysql+php+ssl服务器之完全安装攻略

    2023-11-16 07:34:16
  • http状态码一览表以及HTTP响应的返回头信息

    2010-03-31 14:45:00
  • 关于AJAX缓存数据

    2008-03-26 12:11:00
  • Sql Server中存储过程中输入和输出参数(简单实例 一看就懂)

    2012-11-30 20:09:36
  • asp之家 网络编程 m.aspxhome.com