csv文件操作、excel读写操作
文章目录
- 1. csv
- 2. 虚拟环境
- 3. excel文件
- 4. excel写文件
1. csv
- csv文件
csv文件叫逗号分隔值文件 - 每一行内容是通过逗号来区分出不同的列
csv文件可以直接通过excel打开,以行列的形式保存和显示数据,但是相对excel文件,它只能存储数据,不能保存公式和函数。 - csv读操作
import csv
1)打开csv文件
f = open('files/电影.csv', 'r', encoding='utf-8')
2)创建reader获取文件内容
csv.reader()
csv.DictReader()
csv.reader(文件对象) 获取文件内容返回一个迭代器,并且以列表为单位返回每一行内容
csv.DictReader(文件对象) - 获取文件内容返回一个迭代器,并且以字典为单位返回第2行开始的每一行内容(字典的键是第一行内容)
with open() as 文件对象
reader1=csv.reader(f)
print(list(reader1))reader2 = csv.DictReader(f)
print(list(reader2))f.close()
csv写操作
1)打开文件
f = open('file/data.csv', 'w',encoding='utf-8')
2)创建write对象
csv.writer()
csv.DictWriter()
a)csv.writer() 在写入数据时,一行对应一个列表。以列表为单位写入一行内容。
writer=csv.writer(f)
# 一次写一行
writer.writerow(['姓名', '出生日期', '性别', '电话'])
writer.writerow(['小黑', '1999-2-2', '女', '34'])
# 一次写多行内容
writer.writerows([['小花', '2000-3-24', '女', '120'],['张三', '2000-3-24', '女', '120']
])
b)csv.DictWriter() 创建write对象,以字典为单位写入数据
r=csv.DictWriter(f,['姓名','出生日期','性别','电话'])
# 写入文件头
r.writeheader()
# 写入一行内容
r.writerow({'姓名': 'xiaoming', '出生日期': '1999-9-9', '电话':'110', '性别': '男'})
# 一行写入多行内容
r.writerow({'姓名':'xiaoming','出生日期':'2000-3-4','性别':'男','电话':'123'})
2. 虚拟环境
- 系统环境->安装python就可以为计算机提供一个python的系统环境。
- 虚拟环境-> 程序员根据需要自己创建的python环境。
能够创建虚拟环境的前提:存在系统环境。 - 环境的作用:
1)提供python解释器
2)提供第三方库
虚拟环境的存在可以让第三方库根据类别或者项目分开管理。 - 使用虚拟环境的建议:
1)工作:一个项目一个虚拟环境, - 怎么创建虚拟环境
1)使用pycharm创建
2)使用指令创建
import openpyxl
3. excel文件
- 认识excel文件
工作簿:一个excel文件就是一个工作簿
工作表:一个工作簿中可以有多个工作表
单元格:是excel文件保存数据的基本单位
行号和列号:可以确定单元格位置 - 获取excel文件内容
1)打开excel文件创建工作簿对象
openpyxl.open(excel文件路径)
openpyxl.load_workbook(excel文件路径)
import openpyxlworkbook=openpyxl.open('file/三国人物数据.xlsx')
# 获取工作簿中所有的工作表的表名
result = workbook.sheetnames
print(result) # ['全部人物数据', '三个国家的武力', '三个国家武将的武力', '三国武将数据', '三国文官数据']
2)获取工作表
# 工作簿对象.active -> 获取活跃表(选中的表)
sheet1=workbook.active
print(sheet1)
# 工作簿对象[工作表名称] -> 获取指定名字对应的工作表
sheet2 =workbook['三国武将数据']
print(sheet2) # <Worksheet "三国武将数据">
3)获取单元格
工作表对象.cell(行号,列号)
cell1 = sheet2.cell(8, 1)
cell2 = sheet2.cell(12, 1)
print(cell1,cell2) #<Cell '三国武将数据'.A8> <Cell '三国武将数据'.A12>
4)获取单元格内容
单元格对象.value
print(cell1.value)# 蔡瑁
print(cell2.value)# 曹操
5)获取最大行号和最大列号(保存了数据的有效行和有效列)
工作表对象.max_row
工作表对象.max_column
print(sheet2.max_row)
print(sheet2.max_column)
获取第一列所有数据
column1 = []
for row in range(1, sheet2.max_row+1):cell = sheet2.cell(row, 1)column1.append(cell.value)print(column1)
获取第1列到第3列所有的数据
for col in range(1, 4):column = []for row in range(1, sheet2.max_row+1):cell = sheet2.cell(row, col)column.append(cell.value)print(column)
4. excel写文件
- 新建工作簿
1)新建工作簿对象
workbook=openpyxl.Workbook()
2)保存
工作簿.save(文件路径)
workbook.save('file/student.xlsx')
实际中新建工作簿的时候需要先判断工作簿对应的文件是否已经存在,存在就不需要新建,不存在才新建。
判读文件是否存在:
try:workbook = openpyxl.open('files/student2.xlsx')
except FileNotFoundError:workbook = openpyxl.Workbook()workbook.save('files/student2.xlsx')
- 工作表的写操作
- 新建工作表
workbook.create_sheet('表名')
workbook.save('file/student2.xlsx')
2) 删除工作表
# 工作簿对象.remove(工作表)
workbook.remove(workbook['Sheet'])
workbook.save('file/student2.xlsx')
# 实际中删除
if 'Sheet1' in workbook.sheetnames:workbook.remove(workbook['Sheet1'])workbook.save('file/student2.xlsx')
- 单元格的写操作
单元格对象.value=数据
java_sheet = workbook['Java']
java_sheet.cell(1, 3).value = '电话'
java_sheet.cell(2, 1).value = None
java_sheet.cell(4, 2).value = 'stu003'workbook.save('files/student2.xlsx')
csv文件操作、excel读写操作相关推荐
- matlab用excel的数据,使用MATLAB对excel文件数据的读写操作
最近建模,刚好用matlab对excel中的数据进行处理,由于自己是个菜鸟,基本都是边问度娘边动手操作.感觉以后还会用得到,在此做个简单的总结,为下一次省点力... excel读写操作:xlsread ...
- VS2010 对Excel读写操作
VS2010对Excel读写操作 一.开发环境 编程环境 VS2010 office版本 office 2010 注意 :这里office版本号不一定非得和vs版本号一致. 二.基本实现功能 基本实现 ...
- 实现EasyExcel对Excel读写操作
实现EasyExcel对Excel读写操作 .pom中引入xml相关依赖 <dependencies><!-- https://mvnrepository.com/artifact/ ...
- php excel读写,phpGrace 工具类库 - excel 读写操作
功能说明 excel 读写操作基于 PHPExecl 类库,可以方便的对 Excel 进行操作. 部署说明下载 PHPExcel.zip 解压后将全部文件部署到 phpGrace/tools 下 调用 ...
- VS2015 对Excel读写操作
一.开发环境 编程环境 VS2015 office版本 office 2016 二.参考博文 VS2010 对Excel读写操作 https://blog.csdn.net/ywx123_/artic ...
- VS2010 对Excel读写操作
https://blog.csdn.net/ywx123_/article/details/77074038 VS2010对Excel读写操作 一.开发环境 编程环境 VS2010 office版本 ...
- 图书管理系统 利用文件txt进行读写操作 文件操作
下面展示图书管理系统 应用文件txt进行读写操作 有用户注册(创建一个txt,将用户写入txt) 用户登录(用户输入信息,将信息与老txt比对 成功则显示图书馆内容 不成功退出) // #创建一个tx ...
- python csv读写方法_python中csv文件的若干读写方法小结
如下所示: //用普通文本文件方式打开和操作 with open("'file.csv'") as cf: lines=cf.readlines() ...... //用普通文本方 ...
- csv文件和excel文件
csv文件和excel文件 1 csv文件 2 虚拟环境 3 excel文件 1 csv文件 什么是csv文件 csv文件叫逗号分隔文件.每一行内容是通过逗号来区分出不同的列. csv文件可以直接通过 ...
- excel导入csv文件_如何将包含以0开头的列的CSV文件导入Excel
excel导入csv文件 Microsoft Excel will automatically convert data columns into the format that it thinks ...
最新文章
- vs2015改程序名字
- filter,map,reduce,apply函数
- 【问题和解决】NLTK7.6节nltk.sem遇到的问题
- 分布式Session共享解决方案
- Vue基础之Class和Style绑定
- ECC椭圆曲线加密算法原理
- Linux创建目录【命令】
- 使用 CometD、Apache 和 Camel 的 502 代理错误
- classmethod作用
- 6-3 图片合成视频
- std::vector 初始化的问题 reserve resize
- 数学画图软件_云山小学进行信息技术培训:画图软件的小妙用
- 平行云CEO 李岩:CloudXR ,开启通往元宇宙的通道
- 公安大数据应用之情报分析与关联挖掘
- 网络安全笔记-99-渗透-业务安全
- 软考证书三大含金量,你了解吗?
- 基于推荐算法的电影系统——总体设计(2)
- 【优化求解】基于蝗虫算法(MOGOA)求解多目标问题matlab源码
- NASA全新全球30M DEM任意下载!附7省2.7G数据
- 好嗨游戏:LPL春季赛决赛在即,黑8传奇JDG迎战S8冠军IG
热门文章
- Nature Neuroscience:利用深度神经网络进行基于磁共振的眼动追踪
- spring boot 启动报错Log4j2 could not find a logging implementation 解决
- 2021易烊千玺高考成绩查询,2021高考进入倒计时 考生后援团送上祝福
- 使用Vim编辑运行shell脚本文件的经典步骤
- JavaWeb 初识网络
- dede站点地图模板:dede功能模块模板路径对应表
- IBM Power6、7配件FC号描述翻译(unix360.part06)
- FC-SAN和IP-SAN两者的优缺点分别是什么?
- STP生成树详解_01
- 用Python对用户评论典型意见进行数据挖掘