




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用Python对Csv文件操作csv是Comma-SeparatedValues的缩写,是用文本文件形式储存的表格数据,比如如下的表格:ABcD11iNo.JNameAgeScore21mayi189932jack218943tom259554rain1980就可以存储为csv文件,文件内容是:NoName,Age,Scorelzmayif18,992,jack,21,893,tom,25,954,rain,19,80假设上述csv文件保存为"test.csv"工,读文件如何用Python像操作Excel一样提取其中的一列,即一个字段,利用Python自带的csv模块,有两种方法可以实现:第一种方法使用reader函数,接收一个可迭代的对象(比如csv文件),能返回一个生成器,就可以从其中解析出csv的内容:比如下面的代码可以读取csv的全部内容,以行为单位:0!/usr/bin/python3coding:utf-8 author =!mayi1importcsv#读withopen("test.csv“,encoding="utf-8")asf:reader=csv.reader(f)rows=[rowforrowinreader]print(rows)心得到:[[*No.',,NameI1Age*,*Score1],「1','mayi','18‘,’99",「2',1jack'z'21',‘89”,['3','tom',‘25’,‘95’],[f4\'rain',‘19’,‘80']]要提取其中某一列,可以用下面的代码:#!/usr/bin/python3coding:utf-8 author_=*mayi1importcsv读取第二列的内容withopen(utest.csv","r",encoding=Hutf-8H)asf:reader=csv.reader(f)column=[row[1]forrowinreader]print(column)电得到:['Name*z1mayi1r1jack*,1tom*,*rain1]注意从csv读出的都是str类型。这种方法要事先知道列的序号,比如Name在第2歹I」,而不能根据‘Name'这个标题查询。这时可以采用第二种方法:第二种方法是使用DictReader,和reader函数类似,接收一个可迭代的对象,能返回一个生成器,但是返回的每一个单元格都放在一个字典的值内,而这个字典的键则是这个单元格的标题(即列头)。用下面的代码可以看到DietReader的结构:心।# -coding:utf-8 author =*mayi,importcsv#读withopen("test・csv","r”,encoding=nutf-8H)asf:reader=csv.DictReader(f)column=[rowforrowinreader]print(column)电得到:[{*No.*:*1*z1Age1:'18*,*Scoref:‘99’,'Name':'mayi'},{*No.*:‘21,'Age':*21*,*Score*:‘89','Name':'jack'},{*No.*:‘3’,'Age':‘25',*Score*:‘95’,*Name*:'tom'},{*No.1:‘4','Age':‘19',*Score1:‘80,,'Name':*rain,)]
如果我们想用DictReader读取csv的某一列,就可以用列的标题查询:#!/usr/bin/python3#coding:utf-8 author_='mayi'importcsv#读取Name列的内容withopen(utest.csvH,encoding=nutf-8n)asf:reader=csv.DictReader(f)column=[row[1Name1]forrowinreader]print(column)['mayi*,1jack*,*tom1,'rain1]2.写文件读文件时,我们把csv文件读入列表中,写文件时会把列表中的元素写入到CSV文件中。!/usr/bin/python3coding:utf-8 author =*mayi,importcsv写:追加row=['5','hanmeimei',»23\‘81']out=open("test・csv","a”,newline=csvwriter=csv.writer(out,dialect="excel”)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供热项目可行性研究报告
- 区块链技术在数字版权保护中的应用指南
- 基础设施建设项目可研报告
- 云仓项目可行性研究报告
- 公司内部规章制度培训教程
- 三基训练护理复习试题有答案
- 企业营销自动化技术应用及效果评估报告
- 主管护师内科护理练习测试卷(一)
- 规范办公室管理规章制度手册
- 三农特色农业发展策略研究
- GB/T 14541-2017电厂用矿物涡轮机油维护管理导则
- GB 10133-2014食品安全国家标准水产调味品
- 讲题比赛游戏中的必胜策略问题-(取棋子游戏)课件
- 旅游学概论李天元版复习总结
- 人教版八年级上历史思维导图课件
- 重庆大学介绍课件
- 江苏省南京市2020年中考英语试题
- 《电气装配车间生产工序流程卡》中英文对译版
- 四年级下册英语课件:Unit 4 There are seven days in a week-Lesson 19人教精通版
- 加油站承重罐区安全风险及管理
- 拱涵计算书-6.0m-1m
评论
0/150
提交评论