python操作csv文件
一、关于csv
文件的介绍
CSV(Comma-Separated Values)
即逗号分隔值,可以用Excel
打开查看。由于是纯文本,任何编辑器也都可打开。与Excel
文件不同,CSV
文件中:
- 值没有类型,所有值都是字符串
- 不能指定字体颜色等样式
- 不能指定单元格的宽高,不能合并单元格
- 没有多个工作表
- 不能嵌入图像图表
打开方式:
- 直接用
Excel
打开,看起来是表格 - 用记事本或者编辑器打开就是一坨用,分开的字符
二、关于使用python
读取csv
文件
1、导包(不需要安装)
import csv
2、全部读取出来
filename = 'test.csv' with open(filename) as f: reader = csv.reader(f) # 列表的方式 print(list(reader))
3、逐行读取数据
import csv with open('test.csv') as f: reader = csv.reader(f) # 读取一行,下面的reader中已经没有该行了 header_row = next(reader) for row in reader: print(reader.line_num, row)
三、写入文件
1、单行写入文件
import csv datas = [ ['name', 'age'], ['张三', 20], ['李四', 30] ] with open('test1.csv', 'w', newline='', encoding='utf8') as f: writer = csv.writer(f) for row in datas: writer.writerow(row)
2、结果显示
name,age 张三,20 李四,30
3、多行写入
import csv datas = [ ['name', 'age'], ['张三', 20], ['李四', 30], ['王五', 18] ] with open('test2.csv', 'w', newline='', encoding='utf8') as f: writer = csv.writer(f) writer.writerows(datas)
四、使用DictReader
和DictWriter
对象来操作
使用
DictReader
可以像python
中字典一样的操作数据
1、使用
DictReader
读取数据import csv with open('test.csv') as f: reader = csv.DictReader(f) # 先读取标题 next(reader) for row in reader: print(row['mobile'])
2、写入文件
import csv headers = ['name', 'age'] datas = [ {'name': '张三', 'age': 20}, {'name': '李四', 'age': 30}, {'name': '王五', 'age': 24} ] with open('test3.csv', 'w', newline='', encoding='utf8') as f: writer = csv.DictWriter(f, headers) # 写入头部 writer.writeheader() # 一次性全部写入 writer.writerows(datas)