satopoooonのブログ

自分向けの備忘録

ファイルを読み込む際に空行を飛ばす

ファイルを読み込む

空行があるファイルを読み込むときに、
ちょっとつまずいたのでメモります。
まずファイルの読み方ですが、以下を参考に、、、
Python: テキストファイルの読み込み - read()、readlines()、readline()メソッド | Yukun's Blog

テキストファイルには、改行コードやら空白やら、タブ文字やらいろいろ混ざっているんですよね。
ファイルを読み込んで、リストに入れるときにその辺を削除したいです。

コードを書くと

f = open("読み込むファイルのパス","r")

for i in f.readlines():
        i=i.strip()#末尾の改行を除去、
        i=i.split("\t")#tab区切りでリストを作成、ちなみに改行コードは\n
   if i == [''"]:
            pass
        else:
            text.append(i)

末尾の改行コードの除去や、タブ区切りをしたせいで、
リストの中身が、「\n」だったり「[""]」で判断しようと思いましたが、
今回はi==[""]が空行としました。
というよりも空行を前のコードで空リストとしてしまったらですが、
iがリストなのか、リストの中身なのか、で微妙に空行の表現を考える必要がありそう。
splitするときも、["a,b,c,d"]のリストにはsplitはできないけど、"a,b,c,d"文字列にはできるので・・・
リストなのか、リストの中身の文字列なのか、は意識しなきゃいけなさそう。
すごい駄文になった・・・