Em comparação com outras linguagens de programação, todos sabemos que a maior vantagem do Python é seu código simples e ricas bibliotecas de código aberto de terceiros para uso dos desenvolvedores. Com a popularidade da análise de dados nos últimos anos, Python também se tornou uma das linguagens de programação mais populares. Quanto à leitura e armazenamento de dados, para o cidadão comum, além dos bancos de dados, o mais comum é o Microsoft Excel.
1. Preparação
1.1 Primeira introdução ao Excel
Microsoft Excel é um software de planilha desenvolvido pela Microsoft para computadores que usam os sistemas operacionais Windows e Apple Macintosh.
1.2 Diferenças de formatos
Existem dois formatos, xls e xlsx, no Excel. A diferença entre eles é:
- Os formatos de arquivo são diferentes. xls é um formato binário exclusivo. Sua estrutura principal é uma estrutura de tipo de documento composto, enquanto a estrutura principal de xlsx é uma estrutura de tipo XML. Ele usa compactação baseada em XML para ocupar menos espaço. Este é o significado do último x em xlsx.
- As versões são diferentes. xls é o formato de arquivo gerado pelo Excel2003 e versões anteriores, e xlsx é o formato de arquivo gerado pelo Excel2007 e versões posteriores.
- A compatibilidade varia. O formato xlsx é compatível com versões anteriores e compatível com o formato xls.
1.3 Uso de bibliotecas
Entre os módulos que acompanham o Python estão os módulos xlrd e xlwt para o formato xls, mas essas duas bibliotecas são apenas para operações xls.Quando quisermos operar arquivos no formato xlsx, precisamos usar a biblioteca de terceiros openpyxl.
1.4 Ideia geral
Ao utilizar os módulos acima, teoricamente podemos operar totalmente a leitura e escrita do Excel em diversos formatos.Muitas pessoas ficam confusas, qual é a função deste artigo? Não seria ótimo se estudássemos diretamente os três módulos correspondentes?
A resposta é: embora essas bibliotecas tenham convertido completamente os conceitos de arquivos, tabelas, linhas e colunas do Excel em objetos em Python, cada operação exige percorrer cada célula, e muitas vezes até gastamos muito tempo. fazer loop de células, isso por si só já é uma reinvenção da roda, então passei meio dia resolvendo as seis funções a seguir.
Exibição do segundo código
Formato 2.1xlz
2.1.1 Ler arquivo no formato xls
def read_xls_excel(url,index):
'''
读取xls格式文件
参数:
url:文件路径
index:工作表序号(第几个工作表,传入参数从1开始数)
返回:
data:表格中的数据
'''
# 打开指定的工作簿
workbook = xlrd.open_workbook(url)
# 获取工作簿中的所有表格
sheets = workbook.sheet_names()
# 获取工作簿中所有表格中的的第 index 个表格
worksheet = workbook.sheet_by_name(sheets[index-1])
# 定义列表存储表格数据
data = []
# 遍历每一行数据
for i in range(0, worksheet.nrows):
# 定义表格存储每一行数据
da = []
# 遍历每一列数据
for j in range(0, worksheet.ncols):
# 将行数据存储到da列表
da.append(worksheet.cell_value(i, j))
# 存储每一行数据
data.append(da)
# 返回数据
return data
2.1.2 Gravar arquivo no formato xls
def write_xls_excel(url,sheet_name,two_dimensional_data):
'''
写入xls格式文件
参数:
url:文件路径
sheet_name:表名
two_dimensional_data:将要写入表格的数据(二维列表)
'''
# 创建工作簿对象
workbook = xlwt.Workbook()
# 创建工作表对象
sheet = workbook.add_sheet(sheet_name)
# 遍历每一行数据
for i in range(0,len(two_dimensional_data)):
# 遍历每一列数据
for j in range(0,len(two_dimensional_data[i])):
# 写入数据
sheet.write(i,j,two_dimensional_data[i][j])
# 保存
workbook.save(url)
print("写入成功")
2.1.3 Anexar para gravar arquivo no formato xls
def write_xls_excel_add(url, two_dimensional_data, index):
'''
追加写入xls格式文件
参数:
url:文件路径
two_dimensional_data:将要写入表格的数据(二维列表)
index:指定要追加的表的序号(第几个工作表,传入参数从1开始数)
'''
# 打开指定的工作簿
workbook = xlrd.open_workbook(url)
# 获取工作簿中的所有表格
sheets = workbook.sheet_names()
# 获取指定的表
worksheet = workbook.sheet_by_name(sheets[index-1])
# 获取表格中已存在的数据的行数
rows_old = worksheet.nrows
# 将xlrd对象拷贝转化为xlwt对象
new_workbook = copy(workbook)
# 获取转化后工作簿中的第index个表格
new_worksheet = new_workbook.get_sheet(index-1)
# 遍历每一行数据
for i in range(0, len(two_dimensional_data)):
# 遍历每一列数据
for j in range(0, len(two_dimensional_data[i])):
# 追加写入数据,注意是从i+rows_old行开始写入
new_worksheet.write(i+rows_old, j, two_dimensional_data[i][j])
# 保存工作簿
new_workbook.save(url)
print("追加写入成功")
Formato 2.2xlsx
2.2.1 Ler arquivo no formato xlsx
def read_xlsx_excel(url, sheet_name):
'''
读取xlsx格式文件
参数:
url:文件路径
sheet_name:表名
返回:
data:表格中的数据
'''
# 使用openpyxl加载指定路径的Excel文件并得到对应的workbook对象
workbook = openpyxl.load_workbook(url)
# 根据指定表名获取表格并得到对应的sheet对象
sheet = workbook[sheet_name]
# 定义列表存储表格数据
data = []
# 遍历表格的每一行
for row in sheet.rows:
# 定义表格存储每一行数据
da = []
# 从每一行中遍历每一个单元格
for cell in row:
# 将行数据存储到da列表
da.append(cell.value)
# 存储每一行数据
data.append(da)
# 返回数据
return data
2.2.2 Gravar arquivo no formato xlsx
def write_xlsx_excel(url, sheet_name, two_dimensional_data):
'''
写入xlsx格式文件
参数:
url:文件路径
sheet_name:表名
two_dimensional_data:将要写入表格的数据(二维列表)
'''
# 创建工作簿对象
workbook = openpyxl.Workbook()
# 创建工作表对象
sheet = workbook.active
# 设置该工作表的名字
sheet.title = sheet_name
# 遍历表格的每一行
for i in range(0, len(two_dimensional_data)):
# 遍历表格的每一列
for j in range(0, len(two_dimensional_data[i])):
# 写入数据(注意openpyxl的行和列是从1开始的,和我们平时的认知是一样的)
sheet.cell(row=i + 1, column=j + 1, value=str(two_dimensional_data[i][j]))
# 保存到指定位置
workbook.save(url)
print("写入成功")
2.2.3 Anexar para gravar arquivo no formato xlsx
def write_xlsx_excel_add(url, sheet_name, two_dimensional_data):
'''
追加写入xlsx格式文件
参数:
url:文件路径
sheet_name:表名
two_dimensional_data:将要写入表格的数据(二维列表)
'''
# 使用openpyxl加载指定路径的Excel文件并得到对应的workbook对象
workbook = openpyxl.load_workbook(url)
# 根据指定表名获取表格并得到对应的sheet对象
sheet = workbook[sheet_name]
for tdd in two_dimensional_data:
sheet.append(tdd)
# 保存到指定位置
workbook.save(url)
print("追加写入成功")
Espero que este artigo seja útil para você que está aprendendo Python!
afinal
Deixe-me compartilhar com você um conjunto completo de materiais de aprendizagem Python, gratuitamente! livre! livre! Eu compilei todos eles quando estava estudando. Não é fácil de organizar. Por favor, curtam e compartilhem~
Digitalize o código QR de certificação oficial da CSDN abaixo no WeChat para obtê-lo!
1. Rotas de aprendizagem em todas as direções do Python
A rota completa do Python é organizar os pontos técnicos comumente usados do Python para formar um resumo dos pontos de conhecimento em vários campos.Sua utilidade é que você pode encontrar recursos de aprendizagem correspondentes de acordo com os pontos de conhecimento acima para garantir que você aprenda de forma mais abrangente .
2. Software de aprendizagem Python
Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar as suas ferramentas. O software de desenvolvimento comumente usado para aprender Python está aqui, economizando muito tempo de todos.
3. Vídeo introdutório de aprendizagem de Python
Quando assistimos a vídeos para aprender, não podemos apenas mover nossos olhos e cérebro, mas não nossas mãos. O método de aprendizagem mais científico é usá-los após a compreensão. Neste momento, projetos práticos são muito adequados.
4. Exercícios de Python
Verifique os resultados da aprendizagem
5. Casos práticos de Python
A teoria óptica é inútil. Você deve aprender a acompanhá-la e praticá-la para aplicar o que aprendeu na prática. Neste momento, você pode aprender com alguns casos práticos.
6. Materiais de entrevista em Python
Devemos aprender Python para encontrar um emprego bem remunerado. As perguntas da entrevista a seguir são os materiais de entrevista mais recentes de empresas de Internet de primeira linha, como Alibaba, Tencent, Byte, etc., e os chefes do Alibaba deram respostas confiáveis. Depois de terminar este conjunto Acredito que todos podem encontrar um emprego satisfatório com base nas informações da entrevista.
Amigos que precisarem podem escanear o código QR de certificação oficial da CSDN abaixo no WeChat para obtê-lo gratuitamente ! !