我有一个函数可以读取文本文件,然后将其解析为数据框。
通常输入文件将是这样的:
A B M
1 2 100
2 1 20
Run Code Online (Sandbox Code Playgroud)
我希望能够解析一个不包含任何内容的文本文件,并返回一个空的数据框,但它不允许我这样做,并且在使用 python pandas 读取文件的行中出现错误。还有其他方法吗?
import pandas as pd
def read_data(file):
df = pd.read_csv(file, delim_whitespace=True)
return df
Run Code Online (Sandbox Code Playgroud)
错误:
pandas.io.common.EmptyDataError: No columns to parse from file
Run Code Online (Sandbox Code Playgroud)
您可以通过多种方法验证文件是否为空或格式不正确。但是,您也可以只捕获异常并返回一个空数据框。
from pandas.io.common import EmptyDataError
def read_data(file):
try:
df = pd.read_csv(file, delim_whitespace=True)
except EmptyDataError:
df = pd.DataFrame()
return df
Run Code Online (Sandbox Code Playgroud)