python-day9-Excel文件后缀名为xlsx的读写
一、使用OS模块读取文件名
(一)导入os模块用到的包-os
import os
(二)用listdir()方法
能够读取指定文件夹下的所有子文件。
file_list = os.listdir('./成都链家二手房数据')
print(file_list, type(file_list))
打印出来的效果:
[‘.ipynb_checkpoints’, ‘成都双流二手房信息.csv’, ‘成都大邑二手房信息.csv’, ‘成都天府新区二手房信息.csv’, ‘成都天府新区南区二手房信息.csv’, ‘成都崇州二手房信息.csv’, ‘成都彭州二手房信息.csv’, ‘成都成华二手房信息.csv’, ‘成都新津二手房信息.csv’, ‘成都新都二手房信息.csv’, ‘成都武侯二手房信息.csv’, ‘成都温江二手房信息.csv’, ‘成都简阳二手房信息.csv’, ‘成都蒲江二手房信息.csv’, ‘成都邛崃二手房信息.csv’, ‘成都郫都二手房信息.csv’, ‘成都都江堰二手房信息.csv’, ‘成都金堂二手房信息.csv’, ‘成都金牛二手房信息.csv’, ‘成都锦江二手房信息.csv’, ‘成都青白江二手房信息.csv’, ‘成都青羊二手房信息.csv’, ‘成都高新二手房信息.csv’, ‘成都高新西二手房信息.csv’, ‘成都龙泉驿二手房信息.csv’] <class ‘list’>
(三)获取该目录下所有后缀名为.csv的文件
遍历file_list
for i in file_list:
if i[-4:] == '.csv':
print(i)
打印结果:
成都双流二手房信息.csv
成都大邑二手房信息.csv
成都天府新区二手房信息.csv
成都天府新区南区二手房信息.csv
成都崇州二手房信息.csv
成都彭州二手房信息.csv
成都成华二手房信息.csv
成都新津二手房信息.csv
成都新都二手房信息.csv
成都武侯二手房信息.csv
成都温江二手房信息.csv
成都简阳二手房信息.csv
成都蒲江二手房信息.csv
成都邛崃二手房信息.csv
成都郫都二手房信息.csv
成都都江堰二手房信息.csv
成都金堂二手房信息.csv
成都金牛二手房信息.csv
成都锦江二手房信息.csv
成都青白江二手房信息.csv
成都青羊二手房信息.csv
成都高新二手房信息.csv
成都高新西二手房信息.csv
成都龙泉驿二手房信息.csv
二、Excel介绍
微软的Excel有两种后缀名:.xls、.xlsx
.xls: Excel2007以前的文件后缀名。最多容纳256列,16000+行数据。—>xlwt、xlrd
.xlsx: Excel 2007开始文件使用的后缀名。最多容纳16000+列,1048567行数据。—>openpyxl
Excel 2007开始兼容xls、xlsx后缀名。
python 能够操作Excel的模块:
openpyxl、xlsxwriter、xlwt、pandas、xlrd、win32com、xlutils等。
新版本xlsx: openpyxl。
旧版本xls: xlwt、xlrd。
三、第三方模块的安装-对xlsx操作
(一)可以使用cmd直接输入下面的命令
windows: pip install 第三方模块
mac、linux: pip3 install 第三方模块
(二)安装模块到虚拟环境
1.激活虚拟环境。
2.有(venv)则表示虚拟环境已激活。直接在>后面输入pip install openpyxl命令
3.没有的话 使用 .venv/scripts/activate 进行虚拟环境激活。
如果·报错:微软禁用了终端执行脚本的功能。
使用Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser解除禁用。
再次执行.venv/scripts/activate
(三)点击pycharm界面
file->Settings
四、Excel文件后缀名.xlsx的写操作
工作簿:一个Excel文件就是一个工作簿。
工作表:一个工作簿的多张表格。
单元格:存储信息的方格
(一)首先导入安装的第三方模块
# 导入三方模块openpyxl 对应xlsx后缀名
import openpyxl
(二)新建一个Excel文件—工作簿
Workbook(): 新建文件
# 写.xlsx文件
# 1.新建一个excel文件--工作簿
# 新建文件:Workbook()
file = openpyxl.Workbook()
# 如果文件存在:openpyxl.load_workbook(文件路径和文件名)
(三)操作工作表
1.create_sheet(表名,下标)
create_sheet(表名,下标): 创建工作表对象。
# 2.操作工作表
# 创建工作表对象:create_sheet(表名, 下标)
# 如果直接在工作簿最后追加工作表,下标参数不用写。
file.create_sheet('学生成绩', 0)
file.create_sheet('学生成绩1')
表格效果:
2.sheetnames
sheetnames: 查看工作表中已经存在的工作表。
# 查看工作簿中已经存在的工作表:sheetnames
print(file.sheetnames)
打印结果:
[‘学生成绩’, ‘Sheet’, ‘学生成绩1’]
3.remove(表)
remove(表): 移除工作表。表:工作簿对象[工作表]
# 移除工作表:remove(表)-->表:工作簿对象[工作表]
file.remove(file['Sheet'])
print(file.sheetnames)
结果:
[‘学生成绩’, ‘学生成绩1’]
4.插入信息
方法一:
使用cell(行号,列号)定位单元格。
value: 获取单元格的内容。
# 从学生成绩工作表插入信息
# 方法一:使用cell(行号, 列号)定位单元格
# cell(行号, 列号) ->定位单元格
# value:获取单元格的内容
print(file['学生成绩'].cell(1, 1).value)
file['学生成绩'].cell(1, 1).value = '姓名'
print(