csv文件
又叫逗号分隔值文件
每一行内容是通过逗号来区分出不同的列
可以直接通过excel打开,以行列的形式保存和显示数据,但是相对excel文件,它只能存储文件,不能保存公式和函数
读操作
impo csv
1)创建打开csv文件
f = open()
2)创建reader获取文件的内容
- csv.reader(文件对象)
获取文件内容返回一个迭代器,并且以列表为单位返回每一个行内容
reader1 = csv.reader(f)
print(list(reader1))
- csv.DictReader(文件对象)
获取文件内容返回一个迭代器,并且以字典为单位返回第二行开始的每一行内容(字典的键是第一行内容)
reader2 = csv.DictReader(f)
print(list(reader2))
f.close
写操作
1)打开文件
f = open(‘files/data.csv’,‘w’,encoding=‘utf-8’)
2)创建writer对象
csv.writer(文件对象)
创建writer对象,整个对象在写入数据的时候一行对应一个列表
- writer = csv.writer(f)
一次写入一行
writer.writerow([‘姓名’,'出生日期‘])
一次写入多行
writer.writerows
- csv.DictWriter(文件对象,键列表)
创建writer对象,以字典为对象写入数据
将字典的键写入到文件开头
writer.writeheader()
一次写入一行内容
writer.writerow([‘姓名’,'出生日期‘])
以字典为单位写入多行内容
writer.writerows({[‘姓名’,'出生日期‘],{‘姓名’,'年龄’}})
环境
系统环境:安装python就可以为计算机提供一个python的系统环境
虚拟环境:程序员根据自己需要创建的python环境
能够创建虚拟环境的前提:存在系统环境
环境的作用:
1)提供python解释器
2)提供第三方库
虚拟环境的存在可以让第三方库根据类别或者项目分开管理
使用虚拟环境的建议:
1)工作的时候:一个项目一个虚拟环境,并且将虚拟环境直接放在项目中
2)学习的时候:一类项目一个虚拟环境,不同类别的虚拟环境全部放在一个地方
怎么创建虚拟环境
1)使用pycharm创建
2)使用指令创建
excel文件
认识excel
一个excel文件就是一个工作簿
工作表:一个工作簿可以有多个工作表
工作表:单元格是excel文件保存数据的基本单位
行号、列号:确定单元格位置
读操作
1)打开excel文件创建工作簿对象
- openpyxl.open(excel文件路径)
- openpyxl.load_workbook(excel文件路径)
获取工作簿中所有的工作表的表名
result = workbook.sheetnames
print(result)
2)获取工作表对象
-
工作簿对象.active
获取到的是活跃表(被打开、正在编辑的工作表)
-
工作簿对象[工作表名称]
获取指定名字对应的工作表
3)获取单元格
工作表对象.cell(行号,列号)
sheet =
4)获取单元格内容
单元格对象.value
如:cell = sheet.cell(1,2)
5)获取最大行号、最大列号
保存了数据的有效行、有效列
工作对象.max_row
工作对象.max_column
写操作
不管是以什么样的方式对excel
-
新建工作簿
1)新建工作簿对象
openpyxl.Workbook()
2)保存
workbook.save(文件路径)
-
新建工作表
实际中新建工作簿的时候需要先判断工作簿对应的文件是否已经存在,存在就不需要新键,不存在才新建
os.path.exists(文件路径)
判断指定的文件是否存在,存在返回True,不存在返回False
1)新建工作表
工作簿对象.creat_sheet(表名,下标)
workbook.creat_sheet(表名,下标)
【下标决定工作表在工作簿的位置】
workbook.save(文件路径)
2)删除工作表
工作簿对象.remove(工作表对象)
workbook.remove(工作表对象)
实际工作中要判断要创建的工作表是否存在:存在才删除
if sheet1 in workbook.sheetnames:
workbook.remove(workbook[‘sheet1’])
workbook.save(文件路径)
-
单元格的写操作
单元格对象.value = 数据
sheet1 = work[‘xx’]
sheet1.cell(x,y).value = None
workbook.save(文件路径)