Python 处理 csv 文件(一)

324 篇文章 27 订阅
136 篇文章 1 订阅

艺赛旗 RPA8.0全新首发免费下载 点击下载
http://www.i-search.com.cn/index.html?from=line1
详细内容请参看艺赛旗官网支持栏目:RPA社区
点击链接进入 http://support.i-search.com.cn/
艺赛旗RPA支持社区QQ群:924320215

CSV(Comma-Separated Values) 即逗号分隔值,是纯文本,任何编辑器都可打开,在 CSV 文件中:

值没有类型,所有值都是字符串
不能指定字体颜色等样式
不能指定单元格的宽高,不能合并单元格
没有多个工作表
不能嵌入图像图表
在 CSV 文件中,以,作为分隔符,分隔两个单元格。像这样a,c表示单元格a和单元格c之间有个空白的单元格。依此类推。

不是每个逗号都表示单元格之间的分界。所以即使 CSV 是纯文本文件,也坚持使用专门的模块进行处理。Python 内置了 csv 模块。先看看一个简单的例子。

filename = r’C:\Users\grr\Desktop\paper2\data\train.csv’
with open(filename) as f:
reader = csv.reader(f)
head_row = next(reader)
for row in reader:
# 行号从2开始
print(reader.line_num, row)
写数据到 csv 文件中
有 reader 可以读取,当然也有 writer 可以写入。一次写入一行,一次写入多行都可以。

import csv

使用数字和字符串的数字都可以

datas = [[‘name’, ‘age’],
[‘Bob’, 14],
[‘Tom’, 23],
[‘Jerry’, ‘18’]]
with open(‘example.csv’, ‘w’, newline=’’) as f:
writer = csv.writer(f)
for row in datas:
writer.writerow(row)

# 还可以写入多行
writer.writerows(datas)

如果不指定newline=’’, 则每写入一行将有一空行被写入。上面的代码生成如下内容。

name,age
Bob,14
Tom,23
Jerry,18
name,age
Bob,14
Tom,23
Jerry,18
DictReader 和 DictWriter 对象
使用 DictReader 可以像操作字典那样获取数据,把表的第一行(一般是标头)作为 key。可访问每一行中那个某个 key 对应的数据。

import csv
filename = ‘F:/Jupyter Notebook/matplotlib_pygal_csv_json/sitka_weather_2014.csv’
with open(filename) as f:
reader = csv.DictReader(f)
for row in reader:
# Max TemperatureF是表第一行的某个数据,作为key
max_temp = row[‘Max TemperatureF’]
print(max_temp)
使用 DictWriter 类,可以写入字典形式的数据,同样键也是标头(表格第一行)。

import csv
headers = [‘name’, ‘age’]
datas = [{‘name’:‘Bob’, ‘age’:23},
{‘name’:‘Jerry’, ‘age’:44},
{‘name’:‘Tom’, ‘age’:15}
]
with open(‘example.csv’, ‘w’, newline=’’) as f:
# 标头在这里传入,作为第一行数据
writer = csv.DictWriter(f, headers)
writer.writeheader()
for row in datas:
writer.writerow(row)

# 还可以写入多行
writer.writerows(datas)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值