いろんな種類のファイルを読み込む

python

テキストデータを処理しようとするといろんな種類を扱うことがあるので、関数化してみました

def file_open(fname):
    is fname == none
        t = sys.stdin
    elif re.search(r’.gz’, fname) != none:
        t = gzip.open(fname, ‘rt’)
    else:
        t = open(fbame, ‘rt’)

    l = [l.strip(“\n”) for l in t]
    if fname != none: t.close()

    return l

これで、通常ファイル、gzip、標準入力の3種類に対応できます

標準入力ファイル名を指定しない
gzipファイル名が指定され、.gzで終わる
通常ファイルファイル名が指定され、.gzで終わらない

使うときは下記のように、一旦リストに格納して、for文で1行ずつ処理していく

lines = file_open(f)
for line in lines:
    <処理>
python
スポンサーリンク
この記事を書いた人

運営者について

当サイトは、個人が運営する学習・記録ブログです。

AI・データサイエンス・自動化を中心に、
Python、G検定・DS検定の学習内容や、
実際に試しながら整理した知識をまとめています。

特定の企業や団体に属さない個人サイトとして、
学習過程で得た気づきや判断の整理を目的に運営しています。

「知識はあるが、どう使えばよいか分からない」
「情報が多く、判断に迷ってしまう」
といった状態を減らすことを目的に発信しています。

専門家として教える立場ではなく、
自分自身がつまずき、試し、整理してきた過程をそのまま共有するスタイルです。

用語の暗記やテクニックの紹介よりも、
・なぜそう考えるのか
・どの順番で判断するのか
・どこで迷いやすいのか
といった思考の整理を重視しています。

学び場をフォローする
学び場をフォローする
タイトルとURLをコピーしました