pythoncsv文件的操作_python操作CSV文件
概念:CSV是逗号分隔值或者字符分割值,其文件以纯文本形式存储表格数据。CSV文件可以用文本文件或者转换成EXCEL(直接用EXCEL也可以,但是可能会有一些问题)打开。因此更适合通过CSV文件进行程序之间转移表格数据。
应用场景:需要进行取数分析(将数据库数据拉取下来给产品)、保存爬虫数据时,借助CSV文件更便利一些,同时也可以用该文件记录脚本的操作日志。
下面演示如何通过Python进行CSV文件的读写操作。
import csv
with open('test.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow(['id', 'name', 'phone'])
writer.writerow(['01', 'zhangsan', '13600000001'])
writer.writerow(['02', 'lisi', '13600000002'])
writer.writerow(['03', 'wangwu', '13600000003'])
用记事本打开可以看到如下内容,默认每行数据之间是通过逗号隔开的(可以再理解一下这个Comma-Separated Values)
实例1-1.png
用EXCEL打开的话,数据长这样
实例1-2.png
emmmm,让我们把每行下面的空格去掉,加上newline参数
import csv
with open('test.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['id', 'name', 'phone'])
writer.writerow(['01', 'zhangsan', '13600000001'])
writer.writerow(['02', 'lisi', '13600000002'])
writer.writerow(['03', 'wangwu', '13600000003'])
看,空格没有了!
实例2-1.png
如果想用其它符号代替数据间的逗号,设置delimiter参数
import csv
with open('test.csv', 'w') as f:
writer = csv.writer(f, delimiter = '-')
writer.writerow(['id', 'name', 'phone'])
writer.writerow(['01', 'zhangsan', '13600000001'])
writer.writerow(['02', 'lisi', '13600000002'])
writer.writerow(['03', 'wangwu', '13600000003'])
实例3-1.png
还有一种实现方式,先写入表头,再用writerows插入数据
import csv
with open('test.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow(['id', 'name', 'phone'])
writer.writerows([['01', 'zhangsan', '13600000004'],['02', 'lisi', '13600000005'],['03', 'wangwu', '13600000006']])
实例4-1.png
或者将表头抽离出来,通过字典的方式写入
with open('test.csv', 'w') as f:
header = ['id', 'name', 'phone']
writer = csv.DictWriter(f, fieldnames=header)
writer.writeheader()
writer.writerow({'id': '01', 'name': 'zhangsan', 'phone': '13600000007'})
writer.writerow({'id': '02', 'name': 'lisi', 'phone': '13600000008'})
writer.writerow({'id': '03', 'name': 'wangwu', 'phone': '13600000009'})
实例5-1.png
还可以用for循环将数据依次写入
import csv
data = [
("zhangsan",'13600000001'),
("lisi",'13600000002'),
("wangwu",'13600000003')
]
with open('test.csv','w') as f:
writer = csv.writer(f)
for i in data:
writer.writerow(i)
如果需要写入中文数据,为了避免编码错误,文件操作时加上编码格式
import csv
with open('test.csv', 'w', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['id', 'name', 'phone'])
writer.writerow(['01', '张三', '13600000001'])
writer.writerow(['02', '李四', '13600000002'])
writer.writerow(['03', '王五', '13600000003'])
文件读取操作
import csv
with open('test.csv','r',encoding = 'utf-8') as f:
reader = csv.reader(f)
for row in reader:
print(row)
实例6-1.png
pythoncsv文件的操作_python操作CSV文件相关推荐
- python中写入csv文件的方法_Python写入CSV文件的方法
python笔记5-python2写csv文件中文乱码问题 前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面 ...
- python为csv文件添加表头_python读csv文件时指定行为表头或无表头的方法
python读csv文件时指定行为表头或无表头的方法 pd.read_csv()方法中header参数,默认为0,标签为0(即第1行)的行为表头.若设置为-1,则无表头.示例如下: (1)不设置hea ...
- python读取csv文件路径设置_python读取csv文件
1 importcsv2 tsvfile = open('any_different_file/excel2.tsv','rt')3 readers =csv.reader(tsvfile)4 for ...
- python导入文件列行_python读写csv文件并增加行列的实例代码
python读写csv文件并增加行列,具体代码如下所示: # -*- coding: utf-8 -*- """ Created on Thu Aug 17 11:28: ...
- python打开csv文件设定分隔符_Python读取csv文件分隔符设置方法
Windows下的分隔符默认的是逗号,而MAC的分隔符是分号.拿到一份用分号分割的CSV文件,在Win下是无法正确读取的,因为CSV模块默认调用的是Excel的规则. 所以我们在读取文件的时候需要添加 ...
- python生成csv文件带水印_Python从CSV文件导入数据和生成简单图表
我们已经完成Python的基础环境搭建工作,现在我们尝试导入CSV数据 我们准备一个csv测试数据,文件名是csv-test-data.csv数据. 我们将文件传到Linux上 准备导入的代码 我们运 ...
- python csv文件写入失败_python解析csv文件失败
准备把df文件按条件写入csv2的,但是写出来是空文件.所以我就按以下代码打印了一下发现只有字段,没有记录. 哪位老兄遇到过呢?还望指教一二import pandas as pd import num ...
- python操作文本之CSV文件
python 操作csv文件有两种方法,一种是使用pandas来读写csv文件,第二种是使用csv模块读写csv文件 一.pandas读写csv文件 1.df = pd.read_csv(filepa ...
- python合并csv文件_PYTHON合并CSV文件的实践
最近尝试使用PYTHON处理CSV数据,由于CSV文件有好几个,需要提前拼接,然后再处理,因此遇到了PYTHON对文件进行合并的问题.此次尝试了两种方法:一是调用CMD命令处理:二是使用PYTHON写 ...
- python对文件的写作方法_python读写csv文件 - 作文写作问答 - 归教作文网
请教PYTHON读取CSV文件方法 #!/usr/bin/python # -*- coding: UTF-8 -*- from Log import Loginfo import cgi, os, ...
最新文章
- Leetcode 之Binary Tree Postorder Traversal(44)
- python 读法-python 怎么读,python 怎么读
- springboot+shiro+cas实现单点登录之shiro端搭建
- python16进制字节序_第 1 章 套接字、IPv4和简单的客户端/服务器编程
- 计算机二级vb考试查分,全国计算机二级考试VB程序设计复习试题
- 可视化工具第一篇(百度Echarts)
- html表格展开明细,展开/折叠HTML表格
- 开发运维日常坑 总结 51-100
- HDU1598 并查集+枚举
- SlideLive:提供时间线类型PPT模板下载
- typecho插件:用访问量统计插件
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(三) 激动人心的时刻到啦,实现1v1聊天...
- 棋盘覆盖问题与可视化代码演示
- oracle临时表经常被锁_linux安装oracle
- Java 春招、秋招面试总结
- 哈工大2022计算机系统大作业
- 简单了解下 TCP,学习握手和挥手以及各种状态到底是怎么样的
- 8DOER: Dual Cross-Shared RNN for Aspect Term-Polarity Co-Extraction(2020.10.22)
- java border类_Swing BorderLayout类
- 《概率论与数理统计》之 typeⅠ、typeⅡ(第一类错误和第二类错误)理解
热门文章
- python+opencv实现机器视觉基础技术(2)(宽度测量,缺陷检测,医学检测
- Pandas 统计分析基础 笔记4 任务4.4 使用分组聚合进行组内计算
- c++11特性move和forward区别
- decimal类型 go_Go 语言程序设计——字符串类型(2)
- linux 漏洞 poc,CVE-2017-11176: 一步一步linux内核漏洞利用 (二)(PoC)
- python爬取行业数据_用Python进行Web爬取数据
- python字典求平均值_Python - 字典中各个键的每个值的均值
- python爬取百度域名注册_python爬取百度域名_python爬取百度搜索結果url匯總
- java 自动加载jar_JAVA 动态(手动)加载jar文件
- three.js 把geometry转换成BufferGeometry