如何使用python读取excel(一)

在进行操作前,我们先熟悉一下excel表格的基本术语:

  • 工作簿:workbook。包含多个工作表的。
  • 表单:worksheet。指一个工作簿里面的每个表单。
  • 行:row
  • 列:column
  • 单元格:cell

这里我们使用openpyxl读取数据。

查看每个工作簿包含的工作表

import openpyxl

wb = openpyxl.load_workbook('examble.xlsx')

# 从工作簿查看工作表
print(wb.sheetnames)

也可以通过循环的形式打开工作表

import openpyxl

wb = openpyxl.load_workbook('examble.xlsx')

# 从工作簿查看工作表
for sheet in wb:
  print(sheet.title)

假如要想增加工作表,可以通过下面的程序实现

import openpyxl

wb = openpyxl.load_workbook('examble.xlsx')

# 增加表单
Mysheet = wb.create_sheet("保育猪成本")
Mysheet2 = wb.create_sheet("育肥猪成本")

print(wb.sheetnames)

读取某个单元格内容

import openpyxl

wb = openpyxl.load_workbook('examble.xlsx')

ws = wb.active

# 读取表单对象
print(ws['A1'])

# 读取单元格的内容
print(ws['A1'].value)

上面的程序未表示出行列坐标,如果想表示“第X行X列是X”,使用下面方法

import openpyxl

wb = openpyxl.load_workbook('examble.xlsx')

ws = wb.active

c = ws['A1']

# 读取单元格的第一种方法
print('row {} column {} is {}'.format(c.row, c.column, c.value))

# 读取单元格的第一种方法
print(ws.cell(row=1, column=3).value)

# 读取一行多个单元格
for i in range(1,8):
  print(ws.cell(row=i, column=3).value)

遍历某行或者某列的内容

通过下面的程序可以读取工作表中第五列的所有内容

mport openpyxl

wb = openpyxl.load_workbook('examble.xlsx')
ws = wb.get_sheet_by_name("原始数据")

for i in range(5, ws.max_row+1):
    name = ws.cell(row=i, column=5).value

    print(name)

总结:

[1] import openyxl
[2] wb = openpyxl.load_wookbook("文件名")
[3] ws = wb.active or  ws = wb.get_sheet_by_name(sheettitle)
[4] ws = ['A1'] or ws.cell(row=3, column=2)

参考资料

【用Python处理Excel数据,中文全基础系列教程】

你可能感兴趣的:(python案例,python)