day09、excel文件的操作

Excel文件的操作

  • 后缀名:

    • .xls :excel2007以前的文件后缀名。最多容纳256列,1万6千多行数据
    • .xlsx :excel2007开始使用的后缀名。最多容纳1600多列,1048567行数据
      2007开始兼容xls,xlsx,兼容旧版本
  • python能够操作excel的模块:
    openpyxl(只能读写新版07以后的excel)、xlswriter、xlwt、pandas、xlrd、win32com

如何安装虚拟环境

  1. 激活虚拟环境
  2. (venv) --> 虚拟环境已经激活
  • 使用 ./venv/scripts/activate 进行虚拟环境激活

  • 报错:微软禁用了终端执行脚本的功能

  • 使用 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser解除禁用

  • 再次执行:./venv/scripts/activate

  • 可以使用pip3 list 查看已安装模块的列表

  1. csv文件与excel文件操作逻辑的不同:csv和文本文件,创建新文件,直接open里写入就好。excel里需要最后写完保存,还要用openpyxl.workbook()创建一个file来用于修改
## Excel文件的写
import openpyxl  # openpyxl操作的是07以后的新版本excel文件.xlsx

# 工作簿:一个excel文件就是一个工作薄
# 工作表:一个表格(sheet)

# 1.新建一个excel文件
file = openpyxl.Workbook()
# 如果文件存在:openpyxl.load_workbook(文件路径和文件名)

# 2.操作工作表
# 2.1创建工作表对象:create_sheet(表名,下标)
# 如果直接在工作薄最后追加工作表,下标不用写
file.create_sheet('学生成绩',0)

print(file.sheetnames)
# 2.2移除工作表:remove(表)   --->表:工作薄对象[]工作表
file.remove(file['Sheet'])

# 2.3修改Excel文件,只能针对单元格修改
# cell(行号,列号) -> 定位单元格,可以用数字索引,单元格从1开始
# value -> 获取单元格的内容
# 方法1:--》用数字索引,cell()方法
file['学习成绩'].cell(1,1).value = '姓名'
file['学习成绩'].cell(1,2).value = '性别'

# 方法二:--》用字母加数字索引
file['学生成绩']['A1'] = '姓名'      # file['列名']['列名+行数']
print(file['学生成绩']['A1'].values)

# 2.4 读excel文件
file = openpyxl.load_workbook('./成都链家二手房.xlsx')
ws = file['成都链家二手房数据汇总']
rows = ws.max_row
cols = ws.max_column
for i in range(1, rows + 1):
    for j in range(1, cols + 1):
        print(ws.cell(i, j).value)


# 保存文件
file.save('./学生成绩.xlsx')

你可能感兴趣的:(python,开发语言)