def replace_excel(path, output_path): for f in os.listdir(path): file_name_be, suff = os.path.splitext(f) if suff == '.xls': # 读取xls文件 data = pd.read_excel(os.path.join(path, f)) # 将xls文件转换为xlsx格式并保存 xlsx_file_path = os.path.join(output_path, file_name_be + '.xlsx') data.to_excel(xlsx_file_path, index=False) # 删除原始的xls文件 os.remove(os.path.join(path, f)) print('已将{}文件转换为xlsx格式并保存至{}'.format(f, xlsx_file_path))优化这个代码,写入到非法字符要报错
时间: 2024-03-19 08:45:06 浏览: 86
dbf.rar_arcgis_arcgis python_site:www.pudn.com
可以使用try-except语句来捕获非法字符错误,并打印出错误信息以便进行调试。以下是优化后的代码:
```python
import os
import pandas as pd
def replace_excel(path, output_path):
for f in os.listdir(path):
file_name_be, suff = os.path.splitext(f)
if suff == '.xls':
try:
# 读取xls文件
data = pd.read_excel(os.path.join(path, f))
# 将xls文件转换为xlsx格式并保存
xlsx_file_path = os.path.join(output_path, file_name_be + '.xlsx')
data.to_excel(xlsx_file_path, index=False)
# 删除原始的xls文件
os.remove(os.path.join(path, f))
print('已将{}文件转换为xlsx格式并保存至{}'.format(f, xlsx_file_path))
except ValueError as e:
print('文件{}转换失败: {}'.format(f, e))
```
在上面的代码中,我们使用了try-except语句来捕获ValueError异常。如果出现非法字符错误,该异常会被捕获并打印出错误信息。如果转换成功,就会打印出转换后的文件路径。
阅读全文