首页 > 解决方案 > 使用python检查CSV的格式

问题描述

我目前正在编写一个脚本来检查一堆 CSV 是否有足够的格式供另一个处理它。我遇到了一些它必须通过的断言的问题。一个是没有遗漏,为此我尝试过:

df = pd.read_csv("C:PATH\\test.csv", sep= ',')

def check(self, file):
try:
    assert df.notna().values.any()  
except AssertionError:
    assert False, "  NaN in data"

它什么也不做。我在带有 NaN 的 CSV 上进行了尝试,但没有引发错误。然后,我也希望它用逗号分隔,但他们可能会传递给我一个点和逗号分隔的一个。这是我的尝试:

try:
    assert len(df.columns) != 1 
except AssertionError:      
    "Not comma separated"

它反应不佳,有时会升旗,有时则不会。

“断言”中有什么我不明白的地方还是其他问题?

标签: pythonpandascsv

解决方案


将 df 作为参数传递给check(). 也.any()改成.all()

df= pd.read_csv("C:\\PATH\\test.csv", sep= ',')

def check(file):
    try:
        assert file.notna().values.all()  
    except AssertionError:
        assert False, "  NaN in data"

check(df)

推荐阅读