import pandas as pd file_path = "干支线装载率明细表(速运)-剔除后 202306051123.xlsx" loading_rate = pd.read_excel(file_path, usecols=["线路运行日期","线路类型","需求始发网点","需求目的网点","满载载量(旧)","装载重量","装载率分段(旧)","线路里程(KM)","交易渠道类型(T-2)"]) loading_rate["线路里程(KM)"] = pd.to_numeric(loading_rate["线路里程(KM)"], errors='coerce') excel_writer = pd.ExcelWriter(file_path) loading_rate.to_excel(excel_writer, sheet_name="装载数据", index=False) excel_writer.save() print("完成清洗")将上一段代码优化在这段代码里
时间: 2023-07-06 14:41:59 浏览: 111
使用pandas进行excel文件的读取写入
5星 · 资源好评率100%
好的,为了优化这段代码,我们可以将文件的读取和写入放到一个 try/except 块中,以便同时捕获这两个操作可能会抛出的异常。同时,我们可以使用 with 语句来确保文件的正确关闭,避免文件泄漏的风险。代码示例如下:
```
import pandas as pd
file_path = "干支线装载率明细表(速运)-剔除后 202306051123.xlsx"
try:
# 读取数据
loading_rate = pd.read_excel(file_path, usecols=["线路运行日期","线路类型","需求始发网点","需求目的网点","满载载量(旧)","装载重量","装载率分段(旧)","线路里程(KM)","交易渠道类型(T-2)"])
loading_rate["线路里程(KM)"] = pd.to_numeric(loading_rate["线路里程(KM)"], errors='coerce')
# 写入数据
with pd.ExcelWriter(file_path) as excel_writer:
loading_rate.to_excel(excel_writer, sheet_name="装载数据", index=False)
print("完成清洗")
except Exception as e:
print("发生了异常:", e)
```
这段代码使用了 try/except/with 语句块来确保文件的安全读取和写入。在 try 块中,使用 pd.read_excel() 方法读取数据,并使用 pd.to_numeric() 方法将 "线路里程(KM)" 列转换为数值类型;在 with 块中,使用 pd.ExcelWriter() 方法创建 ExcelWriter 对象,并调用 to_excel() 方法将清洗后的数据写入到 Excel 文件中;在 except 块中,捕获可能的异常,并打印出相应的错误信息。
阅读全文