我想创建一个try/except或if/else语句来根据输入csv创建 Dataframe 。但是输入csv可能是空白的,所以如果我做一个blanket pd.read_csv(file_name)
,当csv为空时,它会抛出一个错误。
我怎样才能做到:
if pd.read_csv(file_name) is successful:
new_df = pd.read_csv(file_name)
else:
new_df = pd.DataFrame() # to set this as an empty data frame
我以前试过:
try:
new_df = pd.read_csv(file_name)
except:
new_df = pd.DataFrame() # to set this as an empty data frame
这不起作用,因为它总是将new_df设置为空df,即使csv不为空
提前感谢!!!
2条答案
按热度按时间nxagd54h1#
尝试用
pandas.read_csv
读取空CSV会引发pandas.errors.EmptyDataError
异常,因此您可以专门捕获它1u4esq0p2#
您可以使用
try/except
捕获异常:except
将 * 仅 * 在引发指定的异常类型时发生。如果你做了一个裸的try/except
,你总是得到一个空白的数据框架,这意味着一个异常 * 总是 * 被引发-确保只捕捉到你期望的异常(即:在空CSV上引发的错误),这样如果您遇到其他错误,它将正常引发,您可以找出如何修复它。