解析没有列

时间:2017-04-04 03:04:37

标签: python parsing

我有一个函数读取文本文件,然后将其解析为数据框。

通常输入文件是这样的:

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

2 个答案:

答案 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