import pandas as pd file_rute = "干支线装载率明细表(速运)-剔除后 202306070926.xlsx" loading_rate = pd.read_excel(file_rute,usecols=["线路运行日期","线路类型","需求始发网点","需求目的网点","满载载量(旧)","装载重量","装载率分段(旧)","线路里程(KM)","交易渠道类型(T-2)"]) loading_rate["线路里程(KM)"] = loading_rate["线路里程(KM)"].astype(float) styled_loading = loading_rate.style \ .set_properties(**{'text-align': 'center'}) \ .set_table_styles([{'selector': 'td', 'props': [('min-width', '50px')]}]) \ .set_table_attributes('border="1" cellspacing="0" cellpadding="4"') styled_loading.to_excel(file_rute,index=False) print("完成清洗") 请使用以上代码帮我优化这单代码
时间: 2023-07-13 18:39:40 浏览: 82
pd_split_train_test.rar_pandas_pandas对数据分类_pd.split_split_数据分类
你好,以下是我对代码的优化建议:
1. 文件路径建议使用绝对路径,这样可以避免相对路径在不同环境下的问题。
2. usecols参数可以使用位置索引,也可以使用列名,建议使用列名,这样代码更易读。
3. 满载载量(旧)列名中含有空格,建议修改为下划线连接方式,这样可以避免在后续操作中出现问题。
4. 转换线路里程(KM)列数据类型时,建议使用pandas的to_numeric()函数,这样可以避免出现不合法数据时的异常。
5. set_table_attributes()函数中的参数建议使用字典类型,这样可以使代码更简洁。
综上,可以优化的代码如下:
```python
import pandas as pd
file_path = "/path/to/file/干支线装载率明细表(速运)-剔除后 202306070926.xlsx"
loading_rate = pd.read_excel(file_path, usecols=["线路运行日期","线路类型","需求始发网点","需求目的网点","满载载量_旧","装载重量","装载率分段_旧","线路里程(KM)","交易渠道类型(T-2)"])
loading_rate["线路里程(KM)"] = pd.to_numeric(loading_rate["线路里程(KM)"], errors='coerce')
styled_loading = loading_rate.style \
.set_properties(**{'text-align': 'center'}) \
.set_table_styles([{'selector': 'td', 'props': [('min-width', '50px')]}]) \
.set_table_attributes({'border': "1", 'cellspacing': "0", 'cellpadding': "4"})
styled_loading.to_excel(file_path, index=False)
print("完成清洗")
```
希望对你有帮助!
阅读全文