excel表格有以下几个部分组成:
工作簿:workbook,即一个excel表格
表单:worksheet,如下图:
行(row)、列(column)、单元格(cell)
导入openpyxl模块 import openpyxl
获取要读取excel文件,创建对象;
wb = openpyxl.load_workbook(filename)
获取要读取的表单,创建对象 sheet = wb[sheetname]
查看单元格数据:
# 打印单元格为A1的值
print(sheet1['A1'].value)
# 打印第一行第一列单元格的值
print(sheet1.cell(row=1,column=2).value)
# 依次打印每列的值
col_range = sheet1['A:C']
for col in col_range:
for cell in col:
print(cell.value)
其他读取操作:(可以对单元格进行切片操作)
# 查看excel表格下的表单名称,以列表形式打印
print(wb.sheetnames)
for sheet in wb:
# 获取表单名称
print(sheet.title)
# 获取excel表格中的活跃表单对象
ws_active = wb.active
B1 = sheet1['B1']
# 查看B1单元格的行号和列号
print('row is {},column is {},value is {}'.format(B1.row,B1.column,B1.value))
# coordinate属性表示单元格的位置
print('Cell {} is {} '.format(B1.coordinate,B1.value))
# 打印表单sheet1的中有效数据的行数和列数
print('{} * {}'.format(sheet1.max_row,sheet1.max_column))
# 将使用A、B、C...表示列的方法转化为使用数字表示,反过来也是如此
from openpyxl.utils import get_column_letter,column_index_from_string
print(get_column_letter(2),get_column_letter(100))
print(column_index_from_string('B'),column_index_from_string('CV'))
运行结果:
B CV
2 100
import openpyxl
wb = openpyxl.load_workbook(filename)
wb = openpyxl.Workbook()
sheet = wb[sheetname]
sheet['A1'] = 张三'
,或sheet1.append(['张三'])
,append方法会自动在源文件的数据下面加上数据,参数是列表类型;wb.remove(wb['其他1'])
wb.save(filename)
,尽量保存为一个新的文件,避免出现修改失败的情况行(row)、列(column)、单元格(cell)
导入openpyxl模块 import openpyxl
获取要读取excel文件,创建对象;
wb = openpyxl.load_workbook(filename)
获取要读取的表单,创建对象 sheet = wb[sheetname]
查看单元格数据:
# 打印单元格为A1的值
print(sheet1['A1'].value)
# 打印第一行第一列单元格的值
print(sheet1.cell(row=1,column=2).value)
# 依次打印每列的值
col_range = sheet1['A:C']
for col in col_range:
for cell in col:
print(cell.value)
其他读取操作:(可以对单元格进行切片操作)
# 查看excel表格下的表单名称,以列表形式打印
print(wb.sheetnames)
for sheet in wb:
# 获取表单名称
print(sheet.title)
# 获取excel表格中的活跃表单对象
ws_active = wb.active
B1 = sheet1['B1']
# 查看B1单元格的行号和列号
print('row is {},column is {},value is {}'.format(B1.row,B1.column,B1.value))
# coordinate属性表示单元格的位置
print('Cell {} is {} '.format(B1.coordinate,B1.value))
# 打印表单sheet1的中有效数据的行数和列数
print('{} * {}'.format(sheet1.max_row,sheet1.max_column))
# 将使用A、B、C...表示列的方法转化为使用数字表示,反过来也是如此
from openpyxl.utils import get_column_letter,column_index_from_string
print(get_column_letter(2),get_column_letter(100))
print(column_index_from_string('B'),column_index_from_string('CV'))
运行结果:
B CV
2 100
import openpyxl
wb = openpyxl.load_workbook(filename)
wb = openpyxl.Workbook()
sheet = wb[sheetname]
sheet['A1'] = 张三'
,或sheet1.append(['张三'])
,append方法会自动在源文件的数据下面加上数据,参数是列表类型;wb.remove(wb['其他1'])
wb.save(filename)
,尽量保存为一个新的文件,避免出现修改失败的情况