CSV数据存取
时间:2019-09-27
本文章向大家介绍CSV数据存取,主要包括CSV数据存取使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
CSV数据的读取十分地简单
分为两部分
读
读取csv文件可以使用csv模块下的reader(f)以及DictReader(f)
mport csv
with open("text.csv","r") as f:
f = csv.reader(f)
for row in f:
print(row)
结果表示为
['Symbol', 'Price', 'Date', 'Time', 'Change', 'Volume']
['AA', '39.48', '6/11/2007', '9:36am', '-0.18', '181800']
['AIG', '71.38', '6/11/2007', '9:36am', '-0.15', '195500']
['AXP', '62.58', '6/11/2007', '9:36am', '-0.46', '935000']
['BA', '98.31', '6/11/2007', '9:36am', '+0.12', '104800']
['C', '53.08', '6/11/2007', '9:36am', '-0.25', '360900']
['CAT', '78.29', '6/11/2007', '9:36am', '-0.23', '225400']
而使用DictReader()来读取文件方便的一点在于可以使用索引的方式获取信息
import csv
with open("text.csv","r") as f:
f = csv.DictReader(f)
for row in f:
print(row["Symbol"],row["Price"],row["Date"],row["Time"],row["Change"])
其结果边表示为
AA 39.48 6/11/2007 9:36am -0.18
AIG 71.38 6/11/2007 9:36am -0.15
AXP 62.58 6/11/2007 9:36am -0.46
BA 98.31 6/11/2007 9:36am +0.12
C 53.08 6/11/2007 9:36am -0.25
CAT 78.29 6/11/2007 9:36am -0.23
区别:看个人喜好,喜欢哪种用哪种,但是以后应该会接触到根据不同的应用场景选择读取方式的场景。
写
写csv文件的时候需要注意一点
首先要写入csv文件的头部信息
随后再写入尾部信息
分为两种情况
一
headers = ['Symbol','Price','Date','Time','Change','Volume'] rows = [('AA', 39.48, '6/11/2007', '9:36am', -0.18, 181800), ('AIG', 71.38, '6/11/2007', '9:36am', -0.15, 195500), ('AXP', 62.58, '6/11/2007', '9:36am', -0.46, 935000), ] with open('stocks.csv','w') as f: f_csv = csv.writer(f) f_csv.writerow(headers) f_csv.writerows(rows)
二
当row中时字典时,就可以选择使用DictWriter写入数据
headers = ['Symbol', 'Price', 'Date', 'Time', 'Change', 'Volume'] rows = [{'Symbol':'AA', 'Price':39.48, 'Date':'6/11/2007', 'Time':'9:36am', 'Change':-0.18, 'Volume':181800}, {'Symbol':'AIG', 'Price': 71.38, 'Date':'6/11/2007', 'Time':'9:36am', 'Change':-0.15, 'Volume': 195500}, {'Symbol':'AXP', 'Price': 62.58, 'Date':'6/11/2007', 'Time':'9:36am', 'Change':-0.46, 'Volume': 935000}, ] with open('stocks.csv','w') as f: f_csv = csv.DictWriter(f, headers) f_csv.writeheader() f_csv.writerows(rows)
原文地址:https://www.cnblogs.com/baihuatian/p/11597354.html
- 使用xUnit为.net core程序进行单元测试(4)
- 使用xUnit为.net core程序进行单元测试(3)
- 使用xUnit为.net core程序进行单元测试(2)
- 使用xUnit为.net core程序进行单元测试(1)
- 用 Identity Server 4 (JWKS 端点和 RS256 算法) 来保护 Python web api
- asp.net core 2.0 查缺补漏
- SQL Server 性能优化之——T-SQL NOT IN 和 NOT Exists
- SQL Server 性能优化之——重复索引
- SQL Server 性能优化之——系统化方法提高性能
- C# 调用PowerShell方法
- 使用Visual Studio 2010 一步一步创建Powershell Module 和 Cmdlet
- [SQLServer大对象]——FileTable初体验
- JavaScript闭包,只学这篇就会了
- [数据库基础]——编码标准之格式
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 例11 整数排序
- 例4 求平方根
- 安装pip
- Python37不能启动pyspider
- 手写一个抖音视频去水印工具,千万别刚一个程序员
- Scrapy框架: 第一个程序
- Scrapy框架: 基本命令
- Scrapy框架: settings.py设置
- 干货 | Elasticsearch 开发实战常用命令清单
- Scrapy框架: 登录网站
- Scrapy框架: middlewares.py设置
- Scrapy框架: pipelines.py设置
- Scrapy框架: 通用爬虫之CrawlSpider
- Scrapy框架: 通用爬虫之XMLFeedSpider
- Scrapy框架: 通用爬虫之CSVFeedSpider