Collect python about excel

Learn code 1

# coding: utf-8

import xlrd

# 写入excel路径
excel_path = r'D:\zhangzeqian3\Downloads\hhh.xls'  

# 打开Excel
data = xlrd.open_workbook(excel_path)

# 查看Excel中的sheet名称
print (data.sheet_names())
# 通过索引或表名获取一个工作表:一个list
table = data.sheets()[0]
table1 = data.sheet_by_index(0)                 #选择一个工作表
table2 = data.sheet_by_name(u'地点')
print (table, table1, table2)
# 获取行数和列数
nrows = table.nrows
ncols = table.ncols
print (nrows,ncols)
# 获取整行和整列的值
print (table.row_values(1))
print (table.col_values(2))
# 循环行,得到索引的列表
for rn in range(table.nrows):                   
    print (table.row_values(rn))               #将表完整打印出来

# 直接输单元格坐标,得到某一项值
cell_A1 = table.cell(0, 0).value               #得到具体某项值
cell_A2 = table.cell(1, 0).value
print (cell_A1, cell_A2)

# 分别使用行列索引,找到某项值
cell_A3 = table.row(0)[0].value                 #得到具体某项值
cell_A4 = table.col(1)[1].value
print (cell_A3, cell_A4)

Learn code 2

import xlrd

book = xlrd.open_workbook("myfile.xls")
print("当前excel文件工作表数量为 {0}".format(book.nsheets))
print("工作表名字为: {0}".format(book.sheet_names()))

# 获取第一张工作表
sh = book.sheet_by_index(0)

# 获取表的数量
print(book.nsheets)

# 当前工作表名, 总行数 总列数
print("{0} {1} {2}".format(sh.name, sh.nrows, sh.ncols))

# 单元 d30 数据为
print("Cell D30 is {0}".format(sh.cell_value(rowx=29, colx=3)))

# 获取所有行数据
for rx in range(sh.nrows):
  # rx 行
  print(sh.row(rx))
  
>>>  [text:'Camille Richardson', text:'2316 EVIAN CT', empty:'', empty:'', text:'DISTRICT HEIGHTS', text:'MD', text:'20747-1153', text:'US']  

# 获取所有行数据     
for rx in range(sh.nrows):
    print(sh.row_values(rx))

Get a worksheet in the book

table = data.sheets()[0]          #通过索引顺序获取

table = data.sheet_by_index(sheet_indx)) #通过索引顺序获取

table = data.sheet_by_name(sheet_name)#通过名称获取

以上三个函数都会返回一个xlrd.sheet.Sheet()对象

names = data.sheet_names()    #返回book中所有工作表的名字

data.sheet_loaded(sheet_name or indx)   # 检查某个sheet是否导入完毕

获取工作表名称、行数、列数

工作表名字:table.name     

表行数:table.nrows

表列数:table.ncols 

获取所有sheet名字:book.sheet_names()

获取sheet数量:book.nsheets

获取所有sheet对象:book.sheets()

通过sheet名查找:book.sheet_by_name("demo”)

通过索引查找:book.sheet_by_index(0)

获取sheet名:sheet1.name

获取总行数:sheet1.nrows

获取总列数:sheet1.ncols

Row operation

nrows = table.nrows  #获取该sheet中的有效行数

table.row(rowx)  #返回由该行中所有的单元格对象组成的列表

table.row_slice(rowx)  #返回由该列中所有的单元格对象组成的列表

table.row_types(rowx, start_colx=0, end_colx=None)    #返回由该行中所有单元格的数据类型组成的列表

table.row_values(rowx, start_colx=0, end_colx=None)   #返回由该行中所有单元格的数据组成的列表

table.row_len(rowx) #返回该列的有效单元格长度

sheet1.row_values(0)     # 获取第一行所有内容,合并单元格,首行显示值,其它为空。

sheet1.row(0)           # 获取单元格值类型和内容

sheet1.row_types(0)     # 获取单元格数据类型

Column operation

ncols = table.ncols   #获取列表的有效列数

table.col(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表

table.col_slice(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表

table.col_types(colx, start_rowx=0, end_rowx=None)    #返回由该列中所有单元格的数据类型组成的列表

table.col_values(colx, start_rowx=0, end_rowx=None)   #返回由该列中所有单元格的数据组成的列表

sheet1.row_values(0, 6, 10)   # 取第1行,第6~10列(不含第10表)

sheet1.col_values(0, 0, 5)    # 取第1列,第0~5行(不含第5行)

sheet1.row_slice(2, 0, 2)     # 获取单元格值类型和内容

sheet1.row_types(1, 0, 2)   # 获取单元格数据类型

Cell operation

table.cell(rowx,colx)   #返回单元格对象

table.cell_type(rowx,colx)    #返回单元格中的数据类型

table.cell_value(rowx,colx)   #返回单元格中的数据

获取单元格值:

sheet1.cell_value(1, 2)

sheet1.cell(1, 2).value

sheet1.row(1)[2].value 

获取单元格类型:

sheet1.cell(1, 2).ctype

sheet1.cell_type(1, 2)

sheet1.row(1)[2].ctype

Commonly used functions

# 打开excel表,是否带格式
book = xlrd.open_workbook("地址信息.xlsx",formatting_info=True/False)


# 获取excel中所有的sheet
book.sheets()

# 打开具体sheet工作方法1
sheet = book.sheet_by_index(索引位置)

# 打开具体sheet工作方法2
sheet = book.sheet_by_nam(工作表名字)

# 获取单元格的值1
sheet.cell_value(rowx=, colx=)

# 获取单元格的值2
sheet.cell(,).value

# 获取单元格的值3
sheet.cell()[].value

 # 获取第4行的内容,以列表形式表示
row_4 = table.row_values(3)

# 获取所有工作表的名字
book.sheet_names()

# 获取工作表的数量
book.nsheets

# 获取工作表的所有行数
sheet.nrows

# 获取工作表的所有列数
sheet.ncols

Guess you like

Origin blog.csdn.net/qq_43689832/article/details/113838235