解析没有列的空文件

ite*_*ong 2 python parsing

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

通常输入文件将是这样的:

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)

Sov*_*iut 8

您可以通过多种方法验证文件是否为空或格式不正确。但是,您也可以只捕获异常并返回一个空数据框。

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)