2017-04-04 95 views
1

我有一個函數讀取文本文件,然後將其解析爲數據幀。解析沒有列的空文件

通常輸入文件將是這樣的:

A B M 
1 2 100 
2 1 20 

我希望能夠解析不含任何添加劑的一個文本文件,並返回一個空的數據幀,但它不允許我這樣做並且在使用python熊貓讀取文件的行上有錯誤。還有其他方法可以做到嗎?

import pandas as pd 

def read_data(file): 
    df = pd.read_csv(file, delim_whitespace=True) 
    return df 

錯誤:

pandas.io.common.EmptyDataError: No columns to parse from file 
+0

你到目前爲止嘗試過什麼?請展示你的工作。 – Soviut

回答

2

有,你可以驗證一個文件是空的或格式不正確的方式。但是,您也可以只是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 
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