python - 使用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"
它反应不佳,有时会升旗,有时则不会。
“断言”中有什么我不明白的地方还是其他问题?
解决方案
将 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)
推荐阅读
- arduino - 使用 Arduino 在 LCD 屏幕上显示来自键盘的输入
- terraform - Terraform - 对模块的资源依赖
- swift - Swift NOT 运算符 (~) 打印的值与使用时不同
- kubernetes - 跟踪使用 HPA 和 CA 在 Kubernetes 中扩展所需的时间
- haskell - 使用 Haskell 获取从绝对文件路径到另一个文件的相对路径
- python - 尝试/排除 ...AttributeError:只能将 .str 访问器与字符串值一起使用
- python - PubSub + GCF 不可靠?
- java - 迭代两个列表并从第一个列表中设置元素
- javascript - 为什么常见网站的 HTML/CSS/Javascript 代码如此复杂?
- python - 尝试在 django 中测试 re_path 正则表达式