def replace_excel(path, f): # 封装xls转换为xlsx ///done """ 将 Excel .xls 后缀 改成 .xlsx 后缀,并去除特殊符号和非法字符 path: 文件夹路径 f: 文件名字,带后缀,例如 aa.xls """ file_name_be, suff = os.path.splitext(f) # 路径进行分割,分别为文件路径和文件后缀 if suff == '.xls': # 读取 xls 文件 data = pd.DataFrame(pd.read_excel(path + '\' + f)) # 替换特殊符号和非法字符 data = data.applymap(lambda x: re.sub(r'[\000-\010]|[\013-\014]|[\016-\037]', '', str(x))) # 格式转换 data.to_excel(path + '\' + file_name_be + '.xlsx', index=False) return file_name_be + '.xlsx'优化下这个代码,是把文件里面所有的xls转换为xlsx
时间: 2024-03-16 08:47:54 浏览: 96
readxl:将excel文件(.xls和.xlsx)读入R:linked_paperclips:
可以将代码进行优化,使用 `glob` 模块来匹配路径下的所有 .xls 文件,然后将其转换为 .xlsx:
```
import glob
import os
import pandas as pd
def replace_excel(path):
# 匹配路径下所有 .xls 文件
for file in glob.glob(os.path.join(path, '*.xls')):
# 读取 xls 文件
data = pd.DataFrame(pd.read_excel(file))
# 替换特殊符号和非法字符
data = data.applymap(lambda x: re.sub(r'[\000-\010]|[\013-\014]|[\016-\037]', '', str(x)))
# 转换文件后缀名为 .xlsx
file_name_be, _ = os.path.splitext(file)
new_file_name = file_name_be + '.xlsx'
# 写入 xlsx 文件
data.to_excel(new_file_name, index=False)
return "转换完成!"
```
这样,只需要传入路径参数,即可将路径下的所有 .xls 文件转换为 .xlsx 文件。
阅读全文