ここではPythonにおけるzipファイル内の「txt」データを読込む方法について解説しています。
行ったこと
zipファイル内にある「txt」データを解凍せずに読み込んで出力してみました。
使用したzipファイルは青空文庫でダウンロードした勝海舟「黙々静観」になります。
プログラム
import zipfile
import os.path, urllib.request as req
#1---ZIPファイルの読込
zf = zipfile.ZipFile("katsu.zip", 'r')
#2---ZIPファイル内のtxtファイルの読込
fp= zf.open('mokumokuseikan.txt', 'r')
#3---読込んだデータを格納
txt_data = fp.read()
#4---txtがShift_JISなのでデコード
txt = txt_data.decode('shift_jis')
print(txt)
上記がプログラムになります。
それでは解説していきます。
#1---ZIPファイルの読込
zf = zipfile.ZipFile("katsu.zip", 'r')
1の部分では、開きたいzipファイルのpathを指定します。ここでは、実行するプログラムと同じフォルダ内にある前提で、ファイル名だけを指定しています。
#2---ZIPファイル内のtxtファイルの読込
fp= zf.open('mokumokuseikan.txt', 'r')
2の部分では、zipファイル内の読み込みたい「txt」ファイルを指定しています。
#3---読込んだデータを格納
txt_data = fp.read()
3の部分では、読み込んだデータを格納しています。
#4---txtがShift_JISなのでデコード
txt = txt_data.decode('shift_jis')
4の部分では、txtが「Shift_JIS」なのでデコードしています。
最後に出力しています。
結果
結果としては上記になります。
zipファイルを解凍せずに中身だけチラ見したい時には便利です。