【发布时间】:2023-03-30 05:05:01
【问题描述】:
我正在尝试编写一个函数来检查 .csv 文件中的所有分隔符是否都是“;”。我的尝试是使用csv.Sniffer():
import csv
def check_data_validity(file):
sniffer=csv.Sniffer()
dialect = sniffer.sniff(file)
if dialect.delimiter != ';':
return False
不管文件是什么,我总是得到“假”。我想可以通过阅读每一行并检查分隔符来做到这一点,但我发现这对于大文件来说非常令人生畏。
原始格式的文件示例如下:
timestamp_1;timestamp_2;Value_1;Value_2;Value_3;Result
1509494402000;2017-11-01T00:00:02Z;292.05;;26.89;0.0;;;
1509494410000;2017-11-01T00:00:10Z;6.0;;4.0;1.0;;;
1509494412000;2017-11-01T00:00:12Z;29.23;;4.0;0.0
【问题讨论】:
-
但嗅探器只测试第一行。所以对于大文件来说这不是问题。关于您的问题,您假设嗅探器不起作用,但您能用minimal reproducible example 证明这一点吗?
-
请更新您的问题edit,并提供示例输入
标签: python csv validation separator sniffer