我需要在python中获得一个大文件(数十万行)的总行数。我的问题是如何计算总行数而不计算特殊字符?我只需要X,Y,dx和dy中带有数字的行。 Example
到目前为止,这是我的方法,但它包括所有行。我不必数特殊字符的行
with open('frequency_map.e00000.fm', 'r') as f:
line_count = 0
for line in f:
line_count += 1
print(line_count)
答案 0 :(得分:1)
从您的描述来看,您只能排除其中带有文字"*"
的任何行。无需解析csv:"*" in line
测试字符是否出现。
一个sum
就足够了,然后:
with open('frequency_map.e00000.fm', 'r') as f:
line_count = sum(1 for line in f if '*' not in line)
# | | \ valid lines do not have a "*" in them
# | \ add 1 for every valid line
# \ sum over all lines
答案 1 :(得分:0)
尝试一下:
file_handle = open('frequency_map.e00000.fm', 'r')
newlines=len(file_handle.readlines())
print('There are %d lines in the file.' % (newlines))