1、准备csv文件(这里是平安银行的统计表:下载并另存为pingan.csv)

>>> from urllib import urlretrieve
>>> urlretrieve('http://table.finance.yahoo.com/table.csv?s=000001.sz','pingan.csv')
('pingan.csv', <httplib.HTTPMessage instance at 0x0000000003BF6588>)

2、以二进制读的模式打开csv文件并读取第一行

>>> import csv
>>> rf = open('pingan.csv','rb')
>>> reader = csv.reader(rf)
>>> reader.next()
['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close']

3、读取csv文件所有数据

for row in reader:print row

4、以二进制写的方式打开一个新的文件pinganback.csv(系统会自动创建),插入数据并刷新

>>> wf = open('pinganback.csv','wb')
>>> writer = csv.writer(wf)
>>> writerow=writer.writerow(['Date','Open','High','Low','Close','Volume','Adj Close'])
>>> wf.flush()

5、查看pinganback.csv文件内容是否成功写入(这里是在linux服务器上,如果是本地操作重复步骤2查看文件内容)

cat pinganback.csv
Date,Open,High,Low,Close,Volume,Adj Close

6、从pingan.csv里读取一行插入到pinganback.csv里并刷新

>>> writerow=writer.writerow(reader.next())
>>> wf.flush()

7、再次查看pinganback.csv里的内容

cat pinganback.csv
Date,Open,High,Low,Close,Volume,Adj Close
2016-12-30,9.08,9.10,9.06,9.10,30260700,9.10

8、完整的示例

import csv  #导入csv库
with open('pingan.csv','rb') as rf: #以二进制读的模式打开pingan.csv文件
reader=csv.reader(rf) #生成文件读模型
with open('pinganmove.csv','wb') as wf: #以二进制写的模式打开pinganmove.csv文件
writer=csv.writer(wf) #生成文件写模型
header = reader.next()#读取标题行(即第一行)
writer.writerow(header) #将第一行写入pinganmove.csv
for row in reader: #逐行读取数据
if row[0] < '2016-01-01': #剔除键名0字段值为2016-01-01时间点前的数据
break
if int(row[5])>=50000000:#筛选出键名5的值大于50000000的数据
writer.writerow(row)#将筛选好的数据写入pinganmove.csv
print('end')#结束后打印end

用python处理csv文件的更多相关文章

  1. Python处理csv文件

    Python处理csv文件 CSV(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看.由于是纯文本,任何编辑器也都可打开.与Excel文件不同,CSV文件中: 值没 ...

  2. 使用Python读写csv文件的三种方法

    Python读写csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 前言 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是 ...

  3. python读写csv文件

    文章链接:https://www.cnblogs.com/cloud-ken/p/8432999.html Python读写csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 前言 逗 ...

  4. 使用python读写CSV文件

    # -*- coding:UTF-8 -*- __autor__ = 'zhouli' __date__ = '2018/10/25 21:14' import csv with open('resu ...

  5. 解决python中csv文件中文写入问题

    一.前言 一般来说,为了方便,使用python的时候都会使用csv模块去写数据到csv文件,但是写入中文的时候,经常会报错: UnicodeEncodeError: 'ascii' codec can ...

  6. 【Python】Python处理csv文件

    Python处理csv文件 CSV(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看.由于是纯文本,任何编辑器也都可打开.与Excel文件不同,CSV文件中: 值没 ...

  7. Python读取CSV文件,报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 727: illegal multibyte sequence

    Python读取CSV文件,报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 727: illegal mul ...

  8. python导入csv文件时,出现SyntaxError

    背景 np.loadtxt()用于从文本加载数据. 文本文件中的每一行必须含有相同的数据. *** loadtxt(fname, dtype=<class 'float'>, commen ...

  9. 使用Python处理CSV文件的一些代码示例

    笔记:使用Python处理CSV文件的一些代码示例,来自于<Python数据分析基础>一书,有删改 # 读写CSV文件,不使用CSV模块,仅使用基础Python # 20181110 wa ...

  10. 数学建模之Python操作csv文件

    1.用Python通过csv文件里面的某一列,形成键值,然后统计键在其他列出现的次数. import pandas as pd import numpy as np import csv import ...

随机推荐

  1. L2-026 小字辈(dfs)

    本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号.随后第二行 ...

  2. CentOS7下开放端口

    memcached等服务启动后,外网默认是无法访问的,因为防火墙不允许,所以要开启防火墙,让其可以访问这些端口号. 方法一:使用firewall 1.运行命令:firewall-cmd --get-a ...

  3. docker-3 Apache

    docker 安装 Apache 环境 docker pull httpd 文件创建连接(这样就可以不用发布了,两个文件夹会自动同步文件) ln -s /root/jenkins_home/works ...

  4. spring boot利用controller来测试写的类

    我们在开发spring boot应用程序的时候,往往需要测试某个写好的类,但是在测试的时候发现不太好测试,用Junit等测试框架,总是会报一些问题,大致是找不到配置文件以及无法利用spring创建的对 ...

  5. Numpy 数据类型

    numpy支持的数据类型比Python内置的类型多很多,基本上可以和C语言的数据类型对应上, 其中部分类型对应为Python内置的类型.下表列举了常用的Numpy基本类型. 名称 描述 bool_ 布 ...

  6. python 常忘代码查询 和autohotkey补括号脚本和一些笔记和面试常见问题

    笔试一些注意点: --,23点43 今天做的京东笔试题目: 编程题目一定要先写变量取None的情况.今天就是因为没有写这个边界条件所以程序一直不对.以后要注意!!!!!!!!!!!!!!!!!!!!! ...

  7. JSON.parse()和eval()的区别

    json格式非常受欢迎,而解析json的方式通常用JSON.parse()但是eval()方法也可以解析,这两者之间有什么区别呢? JSON.parse()之可以解析json格式的数据,并且会对要解析 ...

  8. Spring-MVC运行原理

    一. Spring-MVC的对象初始化,即 bean放入context的beanFactory中. 1. 对象的初始化工作主要在org.springframework.web.servlet.Fram ...

  9. WIN10家庭版的升级到企业版

    1.右键点击[此电脑]---->属性 2.点击[激活windows] 3.在左侧点击[激活]--->更改产品密匙 4.然后输入产品密匙:NPPR9-FWDCX-D2C8J-H872K-2Y ...

  10. dom4j移除节点不成功

    在使用dom4j的时候想移除xml节点,经常使用remove来移除节点,通过整个文档或者根节点删除某一个子节点,但如果子节点不是儿子节点,在dom4j中就无法删除.在dom4j中移除节点必须使用父节点 ...