csv文件操作
1.python2中:
import csv infos = [
['peter','male'],
['marry','female'],
['johon','male'],
['rose','female'],
['mike','male']
]
#写入
with open('infos.csv','wb') as f:
csvout = csv.writer(f)
csvout.writerows(infos)
#读取
with open('infos.csv','rb') as f:
csvin = csv.reader(f)
data = [row for row in csvin]
with open('infos.csv','r') as f:
csvin = csv.reader(f)
for row in csvin:
print 'name:%s,gender:%s' %(row[0],row[1])
效果:

注意: 读取和写入都是以二进制的方式,才能保证没有空行
with open('infos.csv','wb') as f:
csvout = csv.DictWriter(f,fieldnames=['name','gender'])
csvout.writeheader()
csvout.writerows(infos)
with open('infos.csv','rb') as f:
csvin = csv.DictReader(f)
data = [row for row in csvin]
with open('infos.csv','r') as f:
csvin = csv.DictReader(f,fieldnames=['name','gender'])
for row in csvin:
print 'name:%s,gneder:%s' %(row['name'],row['gender'])

但是,在python3中writerow CSV文件多一个空行,如图:

解决方法:
打开文件时指定换行符为""(空字符)
#打开文件时候,指定换行符为""
with open('infos.csv','w',newline='') as f:
csvout = csv.writer(f)
csvout.writerows(infos)
csv文件操作的更多相关文章
- java csv 文件 操作类
一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...
- [Python Study Notes]csv文件操作
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- SpringBatch Sample (二)(CSV文件操作)
本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对CSV文件的读写操作.此实例的流程是:读取一个含有四个字段的CSV文件(ID,Name,Age,Score),对读取的字段做简单的 ...
- 使用Python对Csv文件操作
csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存储为csv文件,文件内容是: No.,Name,Age,Score 1,mayi, ...
- Python csv文件操作
一.open文件打开和with open as 文件打开的区别 file= open("test.txt","r") try: for line in file ...
- 一个封装好的CSV文件操作C#类代码
using System.Data; using System.IO; namespace DotNet.Utilities { /// <summary> /// CSV文件转换类 // ...
- 【WIP】Ruby CSV文件操作
创建: 2017/09/30 ...
- python3csv与xlsx文件操作模块(csv、xlsxwriter)
一.csv模块实现csv文件操作 1.CSV介绍 CSV,全称为Comma-Separated Values,它以逗号分隔值,其文件以纯文本形式存储表格数据,该文件是一个字符序列,可以由任意数目的记录 ...
- Spring-Batch CSV文件读取时的注意点
按照Spring Batch 之 Sample(CSV文件操作)(四) 的方式配置好csvItemReader, 发现读入的数据很是奇怪,通过修改配置文件发现, commit-interval=&qu ...
随机推荐
- C++学习(二十一)(C语言部分)之 函数2
复习 函数名 函数名称 调用时需要函数名加上相应的参数函数类型 void 返回值(根据函数的需要)参数函数体 用来写函数的一个定义 函数怎样实现都现在其中函数声明 函数定义 定义如果放在调用的后面, ...
- 容器(container)
一.容器有哪些 平时我们经常看到各种容器名称:Servlet容器.WEB容器.Java WEB容器.Java EE容器等 二.容器是什么 2-1 容器通常理解就是装东西的,我们这里说技术上的容 ...
- springboot配置文件启动顺序
[1]项目内部配置文件 spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 1.–f ...
- Js判断字符的种类
Js判断字符的种类:unicode范围: 48-57:0-9 数字字符 65-90:A-Z 大写字母 97-122: a-z 小写字母 19968-40869:汉字 其他字符 实例:输出 ...
- day07 hadoop里面的RPC框架使用
PS: RPC远程调用 Webservice啥的都是远程调用.下面简单介绍其使用过程 Hadoop已经实现了RPC框架,不用我们自己写,不过需要我们注意几点:1.发布服务端和客户端必须包名相同 1.服 ...
- str_replace中的匹配空白符,必须用双引号
例: $minUnit = str_replace(array('\r','\n'),"",$content); 执行上面的语句,你会发现,文本没有任何变化,该换行的地方还是换行. ...
- antd、react-router-dom v4 解决菜单和地址同步问题
点击不同的菜单,右边内容做相应的变化. 不过,对于后退操作和刷新页面操作无效,左边菜单无法保持选中项高亮. 解决思路如下: Menu 用 seletedKeys 来决定哪项被选中.需要判断当前选前的路 ...
- Jenkins入门-部署gitlab 项目(8)
目前很多公司代码管理已经迁入到了git上,大多数的公司使用的代码管理服务器是gitlab,目前持续交付的流行很多公司都采用Jenkins完成持续交付工作.首先我们需要通过Jenkins来获取我们的项目 ...
- Fixed-point multiplication (C166 A*B/B)
I want to multiply two fixed point numbers. After the multiplication I have to shift the result so t ...
- Asp.Net Grieview Eval 绑定数据 调用JS事件
<asp:TemplateField ItemStyle-HorizontalAlign="Center"> <ItemTemplate> <asp: ...