当前位置:   article > 正文

使用python库xlrd和openpyxl实现excel文件格式xls转为xlsx格式_python xls转xlsx

python xls转xlsx

使用python库xlrd和openpyxl实现excel文件格式xls转为xlsx格式

由于Python库对excel文件格式有要求,但是实际操作中会有不同格式偏重,所以如果你感觉openpyxl好用,那么xls转换为xlsx格式的文件代码你可能用的到,也是自己写完之后想自己记个笔记方便自己以后找的方便

#-*- coding:utf8 -*-
import xlrd
from openpyxl import Workbook
#将指定的xls文件转换为xlsx格式
def xls_to_xlsx(src_file_path,dst_file_path):
    """
    将指定的xls文件转换为xlsx格式
    :param src_file_path: xls文件路径
    :param dst_file_path: xlsx文件路径
    """
    #打开xls文件
    wb_xls = xlrd.open_workbook(f'{src_file_path}')
    #获取所有sheet名称
    names = wb_xls.sheet_names()
    #我们以第一个sheet内容复制到xlsx文件为例,如有多个sheet要复制加循环即可
    #获取xls文件第一个sheet对象
    ws_xls = wb_xls.sheet_by_name(names[0])
    #查看第一个sheet有多少行和列数据
    nrows = ws_xls.nrows
    ncols = ws_xls.ncols
    print(nrows,ncols)
    
    #读取xls第一个sheet内容存到写入列表中
    sheet_msg_xls = []
    for i in range(nrows):
        sheet_msg_xls.append(ws_xls.row_values(i))
    print(len(sheet_msg_xls))
    #创建xlsx文件并写入到对应文件中,一般文件同名,sheet名称一致
    wb_xlsx = Workbook()
    #在xlsx创建同名sheet
    ws_xlxs = wb_xlsx.create_sheet(f'{names[0]}')
    #把xls sheet内容写入到 xlsx同名sheet中
    for row in sheet_msg_xls:
        #一行一行的写入
        ws_xlxs.append(row)
    #保存xlsx格式文件
    wb_xlsx.save(f'{dst_file_path}')    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/888807
推荐阅读
相关标签
  

闽ICP备14008679号