没有合适的资源?快使用搜索试试~ 我知道了~
首页Python如何读取、写入CSV数据
Python如何读取、写入CSV数据
5星 · 超过95%的资源 17 下载量 124 浏览量
更新于2023-05-04
评论
收藏 71KB PDF 举报
问题 你想读写一个CSV格式的文件。 解决方案 对于大多数的CSV格式的数据读写问题,都可以使用 csv 库。、例如,假设你在一个名叫stocks.csv文件中有一些股票市场数据,就像这样: 下面向你展示如何将这些数据读取为一个元组的序列: import csv with open('stocks.csv') as f: f_csv = csv.reader(f) headers = next(f_csv) for row in f_csv: # Process row ... 在上面的代码中,row 会是一个元组。因此,为了访问某个字段,你需要使用下标,如row[0]访问Sy
资源详情
资源评论
资源推荐
Python如何读取、写入如何读取、写入CSV数据数据
问题问题
你想读写一个CSV格式的文件。
解决方案解决方案
对于大多数的CSV格式的数据读写问题,都可以使用 csv 库。、例如,假设你在一个名叫stocks.csv文件中有一些股票市场数
据,就像这样:
下面向你展示如何将这些数据读取为一个元组的序列:
import csv
with open('stocks.csv') as f:
f_csv = csv.reader(f)
headers = next(f_csv)
for row in f_csv:
# Process row
...
在上面的代码中,row 会是一个元组。因此,为了访问某个字段,你需要使用下标,如row[0]访问Symbol,row[4]访问
Change。
由于这种下标访问通常会引起混淆,你可以考虑使用命名元组。例如:
from collections import namedtuple
with open('stock.csv') as f:
f_csv = csv.reader(f)
headings = next(f_csv)
Row = namedtuple('Row', headings)
for r in f_csv:
row = Row(*r)
# Process row
...
它允许你使用列名如 row.Symbol 和 row.Change 代替下标访问。需要注意的是这个只有在列名是合法的Python标识符的时候
才生效。如果不是的话,你可能需要修改下原始的列名(如将非标识符字符替换成下划线之类的)。
另外一个选择就是将数据读取到一个字典序列中去。可以这样做:
import csv
with open('stocks.csv') as f:
f_csv = csv.DictReader(f)
for row in f_csv:
# process row
...
在这个版本中,你可以使用列名去访问每一行的数据了。比如,row[‘Symbol’] 或者 row[‘Change’] 。
为了写入CSV数据,你仍然可以使用csv模块,不过这时候先创建一个 writer 对象。例如;
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)
如果你有一个字典序列的数据,可以像这样做:
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},
]
weixin_38650508
- 粉丝: 6
- 资源: 940
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5