python 读取Excel xls格式转xlsx格式的方法

# 常规的Excel文件可以选择 方法2,比较简单,速度更快些,但是有些Excel文件,用pandas 读取不了,比如我这次选择方法1,是因为有个xls的文件,好像是直接引用的一个txt文本文件到xls
# pandas一直无法成功读取,使用open()读取时,读取的第一行 打印出来居然是表格所有行内容,正常来讲,应该是读取一行 就是一行内容。
# 方法1  
import win32com.client as win32
# 文件路径
path = r'C:\Users\dell\Desktop\新建文件夹/'
# 文件名
file = '文件名.xls'
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(file)
# 51是.xlsx格式
# 56是.xls格式
# 注意:如果路径中的 斜杠,是【/】,一定要替换成【\】,否则会报错。Paht.replace('/', '\\'),另外最好运行时不要有Excel的进程,需要全部关闭
wb.SaveAs(path + '文件名', FileFormat=51)
wb.Close()

# 方法2:
import pandas as pd
excel = pd.read_excel(file)
# index=False 转换完后不要首行的索引
excel.to_excel(path + '.xlsx', index=False)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pythonexcel库中,可以使用多种方法xls文件换为xlsx文件。 一种常用的方法是使用openpyxl库。该库可以读取和写入xlsx文件,因此可以使用openpyxl.load_workbook()函数打开xls文件,然后使用save()函数将其保存为xlsx文件。示例如下: ```python import openpyxl # 打开xls文件 wb = openpyxl.load_workbook('file.xls') # 创建一个新的xlsx文件 new_wb = openpyxl.Workbook() # 将xls文件中的数据复制到xlsx文件 for sheetname in wb.sheetnames: sheet = new_wb.create_sheet(sheetname) for row in wb[sheetname].iter_rows(): sheet.append([cell.value for cell in row]) # 保存为xlsx文件 new_wb.save('file.xlsx') ``` 另一种方法是使用pandas库,它提供了丰富的数据处理功能。可以使用pandas的read_excel()函数打开xls文件,然后使用to_excel()函数将其保存为xlsx文件。示例如下: ```python import pandas as pd # 打开xls文件 df = pd.read_excel('file.xls') # 保存为xlsx文件 df.to_excel('file.xlsx', index=False) ``` 除了以上两种方法,还可以使用xlrd和xlwt库进行换。可以使用xlrd.open_workbook()函数打开xls文件,然后使用xlwt.Workbook()函数创建一个新的xlsx文件,使用xlwt中的write()函数将数据逐行写入xlsx文件,最后使用save()函数保存xlsx文件。示例如下: ```python import xlrd import xlwt # 打开xls文件 wb = xlrd.open_workbook('file.xls') # 创建一个新的xlsx文件 new_wb = xlwt.Workbook() # 将xls文件中的数据复制到xlsx文件 for sheetname in wb.sheet_names(): sheet = new_wb.add_sheet(sheetname) for row in range(wb.sheet_by_name(sheetname).nrows): for col in range(wb.sheet_by_name(sheetname).ncols): sheet.write(row, col, wb.sheet_by_name(sheetname).cell(row, col).value) # 保存为xlsx文件 new_wb.save('file.xlsx') ``` 总之,根据实际需求,可以选择适合的方法xls文件换为xlsx文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值