今天闲来无事,写了会CSV,简单总结下csv具体操作

什么是csv

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)

读csv文件

1、首先导入CSV模板

2、创建一个CSV文件对象

3、打开文件进行读取

#coding:utf-8

importcsv

f= csv.reader(open('1111.csv','r'))for i inf:print(i)

代码结果:

['测试1', '软件测试工程师']

['测试2', '软件测试工程师']

['测试3', '软件测试工程师']

['测试4', '软件测试工程师']

['测试5', '软件测试工程师']

写入CSV文件

1、首先导入CSV模块

2、创建一个CSV文件对象

3、进行写入CSV文件

#coding:utf-8

importcsv

data=[

("测试1",'软件测试工程师'),

("测试2",'软件测试工程师'),

("测试3",'软件测试工程师'),

("测试4",'软件测试工程师'),

("测试5",'软件测试工程师'),

]

f= open('222.csv','w')

writer=csv.writer(f)for i indata:

writer.writerow(i)

f.close()

写入后打开文件发现乱码了

解决方法:

1、导入codecs模块

2、使用cpdecs打开文件

#coding:utf-8

importcsvimportcodecs

data=[

("测试1",'软件测试工程师'),

("测试2",'软件测试工程师'),

("测试3",'软件测试工程师'),

("测试4",'软件测试工程师'),

("测试5",'软件测试工程师'),

]

f= codecs.open('222.csv','w','gbk')

writer=csv.writer(f)for i indata:

writer.writerow(i)

f.close()

这个时候发现不会乱码了

编码和解码

CSV文件其他用法

csv.DictReader()用法:

# 将CSV 数据读进列表中(首先查找是否使用给定字段名,如果没有,就是用第一行作为键)

#coding:utf-8

importcsv

data=[

("测试1",'软件测试工程师1'),

("测试3",'软件测试工程师3'),

("测试4",'软件测试工程师4'),

("测试5",'软件测试工程师5'),

]

f1= open('222.csv','r')

reader=csv.DictReader(f1)for i inreader:print(i)

f1.close()

代码结果:

[('测试1', '测试3'), ('软件测试工程师1', '软件测试工程师3')]

[('测试1', '测试4'), ('软件测试工程师1', '软件测试工程师4')]

[('测试1', '测试5'), ('软件测试工程师1', '软件测试工程师5')]

csv.DictWriter()用法

#直接字典字段写入到CSV文件中#coding:utf-8

importcsv

data= {'id':'123','name':'anjing','age':'26'}

with open('123.csv','w')as f:

fieldnames= {'id','name','age'} #表头

writer = csv.DictWriter(f,fieldnames=fieldnames)

writer.writeheader()

writer.writerow(data)

结果:

发现上面写入后中间多了一行,如何解决这一行呢?

加入参数“enwline=‘’”

#coding:utf-8

importcsv

data= {'id':'123','name':'anjing','age':'26'}#加入参数“enwline=''”

with open('123.csv','w',newline='')as f:

fieldnames= {'id','name','age'}

writer= csv.DictWriter(f,fieldnames=fieldnames)

writer.writeheader()

writer.writerow(data)

写读追加状态

'r':读

'w':写

'a':追加

'r+' == r+w(可读可写,文件若不存在就报错(IOError))

'w+' == w+r(可读可写,文件若不存在就创建)

'a+' ==a+r(可追加可写,文件若不存在就创建)

对应的,如果是二进制文件,就都加一个b就好啦:

'rb'  'wb'  'ab'  'rb+'  'wb+'  'ab+'

python readcsv读取gbk编码文件_python读写csv文件相关推荐

  1. python本地读csv文件_python读写csv文件方法详细总结

    python提供了大量的库,可以非常方便的进行各种操作,现在把python中实现读写csv文件的方法使用程序的方式呈现出来. 在编写python程序的时候需要csv模块或者pandas模块,其中csv ...

  2. python为什么找不到csv文件_python读写csv文件的方法(还没试,先记录一下)

    该csv模块定义了以下功能: csv.reader(csvfile,dialect ='excel',** fmtparams) 返回一个reader对象,它将迭代给定csvfile中的行. csvf ...

  3. python不同数据的读入_python读写不同编码txt文件_python读写txt文件

    python读写不同编码txt文件_python读写txt文件 以后整理规范 [python] view plaincopy import os import codecs filenames=os. ...

  4. python导入文件列行_python读写csv文件并增加行列的实例代码

    python读写csv文件并增加行列,具体代码如下所示: # -*- coding: utf-8 -*- """ Created on Thu Aug 17 11:28: ...

  5. python 读写csv文件(创建、追加、覆盖)_python 读写csv文件(创建,追加,覆盖)...

    总述: 这篇博客讲述python怎样创建,读写,追加csv文件 创建: 利用csv包中的writer函数,如果文件不存在,会自动创建,需要注意的是,文件后缀一定要是.csv,这样才会创建csv文件 这 ...

  6. c++解析csv 存入数组_Python读写csv文件专题教程(2)

    第275篇原创 上篇:Python读写csv文件专题教程(1) 2.3 通用解析框架 dtype 承接前文,test.csv读入后数据框如下: In [6]: df = pd.read_csv('te ...

  7. python pandas csv 写文件_Pandas读写CSV文件的方法介绍(附代码)

    本篇文章给大家带来的内容是关于Pandas读写CSV文件的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 读csv:使用pandas读取import pandas ...

  8. python调用文件对象所提供的读取数据的函数_python读写数据文件

    1. read.readline.readlines (1)open函数 如果你想用python读取文件(如txt.csv等),第一步要用open函数打开文件. open()是python的内置函数, ...

  9. python读取docx文件_Python读写docx文件的方法

    Python读写word文档有现成的库可以处理.我这里采用 python-docx.可以用pip install python-docx安装一下. 这里说一句,ppt和excel也有类似的库哦,而且是 ...

最新文章

  1. CodeForces - 1058D D. Vasya and Triangle
  2. MaxCompute - ODPS重装上阵 第四弹 - CTE,VALUES,SEMIJOIN
  3. 逐鹿工具显示服务器错误连接不上怎么解决,win7系统安装逐鹿工具箱提示“error launching installer”错误的解决方法...
  4. python runtime错误_Python错误:没有名为RuntimeE的模块
  5. ApacheCN 计算机视觉译文集 20210203 更新
  6. 你知道wps删除空白页的方法吗?进来看看吧
  7. linux 播放wav文件,Java音频无法在Linux中播放wav文件
  8. uniapp启动页面
  9. laravel的Eloquent模型
  10. 到底是什么原因?让200多家企业参与区块链改革?
  11. 矩阵内积、外积(克罗内克积)和Hadamard积
  12. ApplicationListener与ApplicationContextAware
  13. 小说网站源码开源,支持爬虫和原创双模式,小说自动采集/更新/纠错
  14. java编程语言基础外文,Java编程语言基础(外文文献翻译)
  15. 上海大学计算机学院2021,2020-2021学年秋季学期新生选课通知
  16. 【Nowcoder】2021牛客暑假集训营(第七场): xay loves trees 双指针 + 线段树 + 尺取
  17. java中getDelta是什么意思_什么Delta编码/压缩算法库有Java?
  18. Redux入门教程(快速上手)
  19. 伍翀 :大数据实时计算Flink SQL解密
  20. 杨校老师项目之基于SSM大学生创新创业项目管理系统

热门文章

  1. STL的使用和背后数据结构
  2. Java中的注解(Annotation)处理器解析
  3. VOC格式xml标签与YOLO格式txt标签相互转换
  4. SylixOS学习二—— SylixOS认识和使用_SylixOS虚拟机使用
  5. Talib中文文档(二):Momentum Indicators 动量指标
  6. 微信小游戏 - Canvas/WebGL Demo 移植
  7. 基于STM32cubemx的stm32f107vct6代码生成教程,实验一led闪烁
  8. curl证书过期_centos7内核升级及curl访问https证书过期处理
  9. NetFPGA-SUME上电测试
  10. Codeforces 1155F Delivery Oligopoly dp(看题解)