优化代码 def read_file(data_file, file_type): if "csv" in file_type: if "gz" in file_type: return pd.read_csv(data_file, sep=',', compression='gzip') else: return pd.read_csv(data_file, sep=',') if "feather" in file_type: return pd.read_feather(data_file) else: raise FileExistsError("Unknown data file type")
时间: 2024-01-12 13:05:27 浏览: 67
dbf.rar_arcgis_arcgis python_site:www.pudn.com
可以将多层嵌套的 if 语句简化为一个 if-elif-else 结构,同时也可以将 raise 语句修改为 ValueError,因为 FileExistsError 是文件已存在的错误,不太适合在这里使用。修改后的代码如下:
```
def read_file(data_file, file_type):
if "csv" in file_type:
if "gz" in file_type:
return pd.read_csv(data_file, sep=',', compression='gzip')
else:
return pd.read_csv(data_file, sep=',')
elif "feather" in file_type:
return pd.read_feather(data_file)
else:
raise ValueError("Unknown data file type")
```
这样代码更加简洁易懂,同时也遵循了 PEP 8 编码规范。
阅读全文