读文件

import csv
with open('test.csv','rb') as myFile:
lines=csv.reader(myFile)
for line in lines:
print line

程序输出:

['1', '2']
['3', 'a']
['4', 'b']

  写文件

with open(r'C:\Users\asus\Desktop\frank.csv','w') as myFile:
writer = csv.writer(myFile)
writer.writerow(['frank', 'yangchao'])
writer.writerows([('Bob','Tom'), ('liuwei', 'liuyong')])

  注意用csv的默认写入时候,写完一行会自动空行后再写入,但添加中间的参数 newline='' 表示写完一行接着写第二行,中间不空行。同时参数‘r’,‘w’表示读取的字符,‘rb’, 'wb'表示读写的字节

with open(r'C:\Users\asus\Desktop\frank.csv','w', newline='') as myFile:
writer = csv.writer(myFile)
writer.writerow(['frank', 'yangchao'])
writer.writerows([('Bob','Tom'), ('liuwei', 'liuyong')])

csv.DictWriter 与DictReader 读写文件

读文件

文件如下:

DictReader会将第一行的内容(类标题)作为key值,第二行开始才是数据内容,第一列的key值为name,第二列的key值为class:

import csv
with open(r'C:\Users\asus\Desktop\frank.csv','r') as myFile:
reader = csv.DictReader(myFile)
for row in reader:
print(row['name'], row['class']) 输出结果:
frank 135
tom 134
bob 141
ailsa 152
写文件
import csv
with open(r'C:\Users\asus\Desktop\frank.csv','w',newline='') as myFile:
writer = csv.DictWriter(myFile, fieldnames=['name', 'address']) # 这里注意,fieldname列表中的字段为需要存入的字典的key,存入之后就存入key所对应的value
writer.writeheader()
writer.writerows([{'name':'Tom','address':'American'}, {'name':'Bob', 'address':'China'}])

注意:writer.writeheader() 语句的作用是将 fieldnames=['name', 'address'] 中定义的标题(key)写入到首行

效果如下:

CSV的简单用法的更多相关文章

  1. Python中关于csv的简单操作

    Python中关于csv的简单操作 CSV操作简单,直接import csv即可, 主要使用reader和pandas 1 reader的简单使用 csv.reader("1.csv&quo ...

  2. Pandas对于CSV的简单操作

    Pandas对于CSV的简单操作 最近在研究pandas对于csv文件的读取以及一些操作,网上的信息比较乱,写篇博客记录一下,毕竟自己写的才是最适合自己的用法. 首先我们应该都知道,pandas是一个 ...

  3. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  4. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  5. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  6. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  7. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

  8. Ext.Net学习笔记19:Ext.Net FormPanel 简单用法

    Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...

  9. TransactionScope简单用法

    记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...

随机推荐

  1. 【Spark篇】---SparkStreaming中算子中OutPutOperator类算子

    一.前述 SparkStreaming中的算子分为两类,一类是Transformation类算子,一类是OutPutOperator类算子. Transformation类算子updateStateB ...

  2. 深入浅出一下Java的HashMap

    在平常的开发当中,HashMap是我最常用的Map类(没有之一),它支持null键和null值,是绝大部分利用键值对存取场景的首选.需要切记的一点是——HashMap不是线程安全的数据结构,所以不要在 ...

  3. 记一次自己在Linux上倒腾Nginx的经历

    自己装了个CenterOS7.5,还装了个.NET Sdk,又装了个nginx...学会几个命令 su root rm - rf helloCore 删除文件夹及文件 输入命令行: ps -ef | ...

  4. .NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.关于App.Metrics+InfluxDB+Grafana 1.1 App.Metrics App.Metrics是一款开源的支持. ...

  5. Exceptionless邮箱设置

    在web.config中配置邮箱: <system.net> <mailSettings> <smtp from="xxx@163.com"> ...

  6. 通过Jenkins定期清除为None的镜像

    在代码持续交付过程中,依靠Jenkins生产Docker镜像时,会生成许多的名为None的中间镜像,这些镜像在整个项目生产过程完毕后意义不大,还占着空间,需要定期清理,通过手动方式实在是繁琐,也就有了 ...

  7. redis使用场景和java测试案例

    redis数据结构和使用场景 strings lists sets sort sets hashes strings token session validateCode 分布锁 lists 最近联系 ...

  8. Python编程从入门到实践笔记——列表简介

    Python编程从入门到实践笔记——列表简介 #coding=utf-8 #列表——我的理解等于C语言和Java中的数组 bicycles = ["trek","cann ...

  9. SpringCloud学习中遇到的一些bug

    There was a problem with the instance info replicator 错误原因: 该服务尝试将自己作为客服端注册 解决办法: 在application.yml配置 ...

  10. 【带着canvas去流浪】 (3)绘制饼图

    目录 一. 任务说明 二. 重点提示 三. 示例代码 四. hover高亮的实现思路 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:< ...