1. O módulo xlrd é usado principalmente para ler formulários do Excel, suportando xlsx e xls; o xlwt é usado principalmente para escrever o excel e ler bibliotecas
2. Tipos de dados em células comumente usadas
0, vazio (vazio); 1, sequência (texto); 2, número; 3, data; 4, booleano; 5, erro; 6, em branco (formulário em branco)
Use
1. Módulo de Importação
importar xlrd
Segundo, abra o arquivo do Excel para ler os dados (o arquivo é criado primeiro)
data = xlrd.open_workbook ('study.xls') # Nome e caminho do arquivo, se o caminho ou o nome do arquivo tiver chinês, adicione r à frente para indicar o caractere nativo; por exemplo, 'rLearn.xls'
Três, operação do módulo xlrd
1. Funções básicas
1.1 Abra a pasta de trabalho para obter o objeto Book
- xlrd.open_workbook (nome do arquivo [, arquivo de log, arquivo_contents, ...]): abra o
nome do arquivo do arquivo excel : o nome do arquivo a ser operado (incluindo o caminho e o nome do arquivo);
Se o nome do arquivo não existir, um erro FileNotFoundError será relatado;
se o nome do arquivo existir, o valor retornado será o objeto xlrd.book.Book
1.2 Obter todos os nomes de planilha no objeto Livro
- BookObject.sheet_names (): obtenha os nomes de todas as folhas e exiba-os em uma lista
1.3 Obter todos os objetos Sheet no objeto Book
-
BookObject.sheets (): obtenha todos os objetos da planilha e exiba-os como uma lista
-
BookObject.sheet_by_index (sheetx): obtenha o objeto de planilha desejado
sheetx como o valor do índice no índice da planilha e o índice começa em 0;
se o sheetx exceder o intervalo do índice, um erro IndexError será relatado;
se o sheetx estiver dentro do intervalo do índice, o valor de retorno será xlrd.sheet Objeto .Sheet -
BookObject.sheet_by_name (sheet_name): obtenha o objeto de planilha desejado pelo nome da planilha
sheet_name é o nome da planilha;
se sheet_name não existir, será relatado um erro xlrd.biffh.XLRDError;
se plan_name existir, o valor de retorno será xlrd.sheet.Sheet
1.4 Determinar se uma planilha no objeto Livro é importada
- BookObject.sheet_loaded (sheet_name_or_index): determine se a planilha foi importada com êxito pelo nome ou índice da planilha.O
valor de retorno é bool.Se o valor de retorno for True, significa que foi importado;
1.5 Manipular linhas no objeto Sheet
-
SheetObject.nrows: obtém o número de linhas válidas em uma planilha
-
SheetObject.row_values (rowx [, start_colx = 0, end_colx = None]): obtenha os dados da coluna start_colx para a coluna end_colx na linha row + 1 linha da folha e o valor de retorno é uma lista.
Se rowx estiver no intervalo de índice, retorne os dados na forma de uma lista;
se rowx não estiver no intervalo de índice, um Error IndexError será relatado -
SheetObject.row (rowx): obtém a linhax + 1 unidade de linha na planilha, o valor de retorno é uma lista; o
conteúdo de cada valor da lista é: Tipo de unidade: dados da unidade -
SheetObject.row_slice (rowx [, start_colx = 0, end_colx = None]): obtém a unidade da linhax + 1 linha na planilha da coluna start_colx para a coluna end_colx no modo de fatia, o valor de retorno é uma lista; o
conteúdo de cada valor da lista é: unit Tipo: Dados da unidade -
SheetObject.row_types (rowx [, start_colx = 0, end_colx = None]): obtenha o tipo de célula da linhax + 1 linha na planilha da coluna start_colx para a coluna end_colx, o valor de retorno é do tipo array.array.
Tipo de unidade ctype: vazio é 0, sequência é 1, número é 2, data é 3, booleano é 4, erro é 5 (esquerda é o tipo, direita é o valor correspondente do tipo); -
SheetObject.row_len (rowx): obtenha o comprimento da linhax + 1 linha na folha
rowx: índice da linha, o número de linhas começa em 0 (0 significa a primeira linha), parâmetros necessários;
start_colx: start column, significa obter valores da coluna start_colx, incluindo o valor da start_colx;
end_colx: end column, significa Valor final da coluna End_colx, excluindo o valor end_colx;
start_colx assume como padrão 0, end_colx assume como padrão None: significa obter a linha inteira de dados relacionados;
- SheetObject.get_rows (): obtenha um gerador para todas as linhas de uma planilha
1.6 Operações de coluna no objeto Sheet
-
SheetObject.ncols: obtém o número de colunas válidas em uma planilha
-
SheetObject.col_values (self, colx [, start_rowx = 0, end_rowx = None]): obtenha os dados da linha start_rowx para a linha end_rowx da coluna colx + 1 na planilha, e o valor de retorno é uma lista.
-
SheetObject.col_slice (colx [, start_rowx = 0, end_rowx = None]): obtenha os dados da linha start_rowx até a linha end_rowx da coluna colx + 1 da planilha no modo fatia, e o valor de retorno é uma lista.
O conteúdo de cada valor na lista é: Tipo de unidade: dados da unidade -
SheetObject.col_types (colx [, start_rowx = 0, end_rowx = None]): obtenha o tipo de célula da coluna colx + 1 na planilha da linha start_rowx para a linha end_rowx, o valor de retorno é uma lista;
1.7 Executar operações nas células do objeto Sheet
-
ShellObeject.cell (rowx, colx): obtenha o objeto de célula na linha rowx + 1 row e colx + 1 coluna do objeto de planilha, o valor de retorno é do tipo 'xlrd.sheet.Cell' e o formato do valor retornado é "cell type: cell Valor ".
-
ShellObject.cell_value (rowx, colx): obtenha os dados da célula rowx + 1 row e colx + 1 coluna no objeto da planilha, e o valor de retorno é o tipo do valor atual (como float, int, string ...);
-
ShellObject.cell_type (rowx, colx): obtenha o valor do tipo de dados da célula rowx + 1 row e colx + 1 no objeto da planilha;
tipo de célula ctype: vazio é 0, string é 1, número é 2, data é 3, booleano é 4, erro é 5;
import xlrd
'' 'Abrir tabela
excedente ' '' wook_book = xlrd.open_workbook ('study.xls')
print (wook_book) #jResult: <xlrd.book.Book objeto em 0x000001DC91214B50>
'' '1, obtenha todos os nomes de planilha '' '
sheet_names = wook_book.sheet_names ()
print (sheet_names) #Result: List [' people ',' animal ',' car ']
' '' '2, Obter todos ou um determinado objeto da planilha' ''
'' 'Get Todos os objetos de
pasta '' ' sheet_object = wook_book.sheets ()
print (sheet_object) #RESULTS [<objeto xlrd.sheet.Sheet em
# 0x0000026F491C21C0>,
# <objeto xlrd.sheet.Sheet em 0x0000026F491C22E0>,
# <xlrd.sheet .Objeto de pasta em 0x0000026F491C22B0>] #Obter o
primeiro objeto de
pasta pelo índice sheet1_object = wook_book.sheet_by_index (0)
print (sheet1_object) #Obter o
primeiro objeto da planilha com o nome
sheet2_object = wook_book.sheet_by_name ('people')
print (sheet2_object)
'' '' 3. Determine se uma planilha foi importada '' ' #Verifique
se a
planilha1 é importada para a planilha1_is_load pelo índice wook_book.sheet_loaded = (sheet_name_or_index = 0)
Imprimir (sheet1_is_load) resultados #: Verdadeiro
folha # nome por determinar se importar sheet1
sheet1_name_is_load = wook_book.sheet_loaded (sheet_name_or_index = 'pessoas')
impressão (sheet1_name_is_load) # resultado é Verdadeiro ou Falso
'' '4. Execute operações no objeto de pasta: como o número de linhas válidas, os dados de uma linha de n1 a n2, a unidade e o tipo de uma linha e o comprimento de uma linha. . . '' ' #Obter o
número de linhas válidas nas
folhas da folha1 : o número de linhas nrows = sheet1_object.nrows
print (nrows) #get
os dados da terceira linha na sheet1
all_row_values = sheet1_object.row_values (rowx = 2)
print (all_row_values) #get
some O valor das primeiras colunas para as primeiras linhas da linha
row_values = sheet1_object.row_values (rowx = 2, start_colx = 1, end_colx = 3)
print (row_values) #Obter
o objeto de unidade na terceira linha da planilha1, que é o objeto de unidade
row_object = sheet1_object.row (rowx = 2)
print (row_object) #Obter
a unidade da linha 3 na
planilha1 row_slice = sheet1_object.row_slice (rowx = 2)
print (row_slice) #Obter
o tipo de unidade da linha 3 na
planilha1 row_type = sheet1_object.row_types (rowx = 2)
print (row_type) #Obter
o comprimento da terceira linha na planilha1
row_len = sheet1_object.row_len (rowx = 2)
print (row_len) #Obter
o gerador de todas as linhas na
planilha1 row_generator = sheet1_object.get_rows ()
print (row_generator)
'' '5. Execute operações nas colunas no objeto de planilha' '' #Obter o
número de colunas válidas ncols na planilha1: o número de colunas
ncols = planilha1_objeto.ncols
imprimir (ncols)
#get os dados na coluna 1 da
planilha1 col_values = sheet1_object.col_values (colx = 1)
print (col_values)
col_value1 = sheet1_object.col_values (1,1,3)
print (col_value1) #Obter
a célula na segunda coluna da sheet1
col_silce = sheet1_object.col_slice (colx = 1)
print (col_silce ) #Obter
o tipo de célula da segunda coluna na
planilha1 col_types = plan1_object.col_types (colx = 1)
print (col_types)
'' '5. Execute operações nas células no objeto de
pasta ' '' #Pegue o objeto de célula na linha + 1 linha e colx + 1 coluna na
folha1 cell_info = sheet1_object.cell (rowx = 1, colx = 2)
print ( cell_info)
print (type (cell_info)) # <class 'xlrd.sheet.Cell'>
#Obter o valor da célula da linha + 1 linha e coluna colx + 1 na
planilha1 cell_value = sheet1_object.cell_value (rowx = 1, colx = 2)
print (cell_value)
#Obter o valor do tipo de célula da linha + 1 linha e coluna colx + 1 na planilha
cell_type = sheet1_object.cell_type (rowx = 1, colx = 2)
print (cell_type)