问答详情

python如何打开excel文件

805次观看
标签: 文件 python excel
老师回答

openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。pip install openpyxl安装。

读取Excel文件

需要导入相关函数

from openpyxl import load_workbook
# 默认可读写,若有需要可以指定write_only和read_only为True
wb = load_workbook('pythontab.xlsx')
默认打开的文件为可读写,若有需要可以指定参数read_only为True。

获取工作表--Sheet

# 获得所有sheet的名称
print(wb.get_sheet_names())
# 根据sheet名字获得sheet
a_sheet = wb.get_sheet_by_name('Sheet1')
# 获得sheet名
print(a_sheet.title)
# 获得当前正在显示的sheet, 也可以用wb.get_active_sheet()
sheet = wb.active

python学习网,免费的python学习网站,欢迎在线学习!

获取单元格

# 获取某个单元格的值,观察excel发现也是先字母再数字的顺序,即先列再行
b4 = sheet['B4']
# 分别返回
print(f'({b4.column}, {b4.row}) is {b4.value}') # 返回的数字就是int型
# 除了用下标的方式获得,还可以用cell函数, 换成数字,这个表示B2
b4_too = sheet.cell(row=4, column=2)
print(b4_too.value)

b4.column返回B, b4.row返回4, value则是那个单元格的值。另外cell还有一个属性coordinate, 像b4这个单元格返回的是坐标B4。

获得最大行和最大列

获取行和列

sheet.rows为生成器, 里面是每一行的数据,每一行又由一个tuple包裹。

sheet.columns类似,不过里面是每个tuple是每一列的单元格。

# 因为按行,所以返回A1, B1, C1这样的顺序
for row in sheet.rows:
  for cell in row:
    print(cell.value)
# A1, A2, A3这样的顺序
for column in sheet.columns:
  for cell in column:
    print(cell.value)

上面的代码就可以获得所有单元格的数据。如果要获得某行的数据呢?给其一个索引就行了,因为sheet.rows是生成器类型,不能使用索引,转换成list之后再使用索引,list(sheet.rows)[2]这样就获取到第二行的tuple对象。

for cell in list(sheet.rows)[2]:
  print(cell.value)

免费直播

    精选课程
    相关推荐
    零基础学编程需要学习什么?
    黄老师 Python编程

    1、儿童时期,主要指小学时期:主要对计算机的相关常识有个开端了解,对计算机编程有个根本的认识,经过学习具有开端的编程能力。一般建议从小学3年级以上或者8岁以上开端接触计算机编程,3年级往上对一些文字和英语现已达到了必定的认识水平。不要过于在乎某某国家某某孩子5岁就开端具有编程能力,并取得的了必定的成果。学习的内容目前能够经过scratch积木式的编程渠道进行,比较简单,直观,有利于培育兴趣。近期会录制一套scratch教程,随后发布。

    2、少年时期,主要指初中时期,高中时期:具有必定的编程常识,经过学习培育必定编程思想,假如没有接触过编程,能够将小学阶段要学的常识进行一下补学,这个阶段的孩子接受能力比较强,能够比较快的把握必定理论,经过实践来提高自己的基础能力。这个阶段能够学习编程工具可选择的比较多了,比如basic,python,C,java等等,现在比较推重的是Python,后期会录制教程发布。

    3、成年时期,大学生及现已工作的人群:应该具有了必定的计算机常识,会有目的去学习一下编程常识,这个依据各人的工作状况,为了提高个人的竞争能力,有目标的去学习一些编程常识,需求经过编程取得经济收入来生计或者改善生活。

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司