次のような .txt ファイルの行数を数えたいと思います。
apple
orange
pear
hippo
donkey
ブロックを区切るために使用される空白行がある場所。上記のサンプルに基づいて、私が探している結果は 5 (行) です。
どうすればこれを達成できますか?
おまけとして、ブロック/段落の数を知っておくとよいでしょう。したがって、上記の例に基づくと、それは 2 つのブロックになります。
次のような .txt ファイルの行数を数えたいと思います。
apple
orange
pear
hippo
donkey
ブロックを区切るために使用される空白行がある場所。上記のサンプルに基づいて、私が探している結果は 5 (行) です。
どうすればこれを達成できますか?
おまけとして、ブロック/段落の数を知っておくとよいでしょう。したがって、上記の例に基づくと、それは 2 つのブロックになります。
non_blank_count = 0
with open('data.txt') as infp:
for line in infp:
if line.strip():
non_blank_count += 1
print 'number of non-blank lines found %d' % non_blank_count
更新:質問を読み直してください。OPは非空白行を数えたい..(ため息.. @RanRagに感謝します)。(私はコンピュータから休憩が必要です...)
非空白行の数を数える簡単な方法は次のとおりです。
with open('data.txt', 'r') as f:
lines = f.readlines()
num_lines = len([l for l in lines if l.strip(' \n') != ''])
sum([1 for i in open("file_name","r").readlines() if i.strip()])
Pythonコードのこのビットは、問題を解決するはずです。
with open('data.txt', 'r') as f:
lines = len(list(filter(lambda x: x.strip(), f)))
これは私がやった方法です:
f = open("file.txt")
l = [x for x in f.readlines() if x != "\n"]
print len(l)
readlines()
ファイル内のすべての行のリストを作成し、少なくとも何かが含まれている行を取得できます。私にはかなり簡単に見えます!
かなりストレート!私は信じている
f = open('path','r')
count = 0
for lines in f:
if lines.strip():
count +=1
print count
空白行ではない カウンター:
lines_counter = 0
with open ('test_file.txt') as f:
for line in f:
if line != '\n':
lines_counter += 1
ブロックカウンター:
para_counter = 0
prev = '\n'
with open ('test_file.txt') as f:
for line in f:
if line != '\n' and prev == '\n':
para_counter += 1
prev = line