<p>我创建了一个方法,它逐行读取一个文件,并检查它们是否都包含相同数量的分隔符(参见下面的代码)。该解决方案的问题在于,它是在每行的基础上工作的。考虑到我正在处理的一些文件的大小是千兆字节,这将需要一段时间来处理,是否有更好的解决方案1)验证所有行是否包含相同数量的分隔符2)不会导致任何内存不足问题。提前谢谢。你知道吗</p>
<pre><code>def isValid(fileName):
with open(fileName,'rb') as infile:
for lineNumber,line in enumerate(infile,1):
count = line.count(',')
if lineNumber > 1 and prevCount != count:
# this line does not contain the same number of delimiters
return False
prevCount = count
return True
</code></pre>
<p>可以改用all和生成器表达式:</p>
<pre><code>with open(file_name) as your_file:
start = your_file.readline().count(',') # initial count
print all(i.count(',') == start for i in your_file)
</code></pre>