我有一个函数读取文本文件,然后将其解析为数据框。
通常输入文件是这样的:
A B M
1 2 100
2 1 20
我希望能够解析一个不包含任何内容的文本文件,并返回一个空数据框,但它不允许我这样做,并且在使用python pandas读取文件的行上有错误。还有其他办法吗?
import pandas as pd
def read_data(file):
df = pd.read_csv(file, delim_whitespace=True)
return df
ERROR:
pandas.io.common.EmptyDataError: No columns to parse from file
答案 0 :(得分:3)
只吃异常并制作一个空的df:
def read_data(file):
try:
df = pd.read_csv(file, delim_whitespace=True)
except pandas.io.common.EmptyDataError:
df = pd.DataFrame()
return df
答案 1 :(得分:3)
有一些方法可以验证文件是空的还是格式不正确。但是,您也可以catch the exception并返回一个空数据框。
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