【python】テキストから特定の行を取り出す
- 2020.10.26
- python
テキストに保存したデータから特定の行を取り出します。外部のtxtに設定データを保存しておいて読み込むことを前提とします。
サンプルプログラム
【t_get.py】
import sys
from os import path
##自作モジュールのインポート##
m_path = path.join(path.dirname(__file__),"under")
sys.path.append(m_path)
import yomikomi
def t_get(rf_path,row):
read_file=yomikomi.d_yomikomi(rf_path)
get_txt=read_file[row]
print(get_txt)
if __name__ == '__main__':
rf_name="f_name.txt"
rf_path = path.join(path.dirname(__file__),rf_name)
row=2
text=t_get(rf_path,row)
【自作モジュール yomikomi.py】
import os
from os import path
import codecs
def d_yomikomi(r_path):
r_txt = codecs.open(r_path, 'r', 'UTF-8')
r_txt_list = []
for x in r_txt:
r_txt_list.append(x)
r_txt.close()
return r_txt_list
if __name__ == '__main__':
print("mainとして実行")
rf_name="hoge.csv"
rr_path = path.join(path.dirname(__file__),rf_name)
c=d_yomikomi(rr_path)
print(c)
実行結果&解説
t_get.pyを直接実行すると17行目から処理がはじまり、rf_pathのパスで指定されたテキストファイルのrowで指定された3行目(row=2ですが3行目は0,1,2で2となる)を取り出します。
11行目で自作モジュールでテキストファイルを行ごとにリスト形式で取り込みます(今回はunderフォルダに配置しているで5~7行目の記述した自作モジュールyomikomiを使っています。)。
12行目でrowで指定した行を取り出します。
【f_name.txt】
■エクセルファイルを入れたフォルダを記載してください
↓↓↓↓↓↓↓↓統合したいエクセルが入ったフォルダ↓↓↓↓↓↓↓↓
data
↑↑↑↑↑↑↑↑統合したいファイル↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
■エクセルファイルを保存したいフォルダを記載してください
↓↓↓↓↓↓↓↓統合後の名前↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
integrated.xlsx
↑↑↑↑↑↑↑↑統合後の名前↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
※注:3行目にフォルダの名前入れてください
※注:7行目にフォルダの名前入れてください
あとがき
テキストに保存した設定データを読み込むために関数化をしました。
pythonのプログラム本体を変更しなくてもプログラムの設定を変更できるのでpythonに慣れない人にプログラムを配布したりexe化するときに使えると思います。
-
前の記事
第四回【python】【業務効率化】【ファイル統合】複数のExcel(エクセル)ファイルを自動化で1つのファイルにしたい -4- 2020.10.24
-
次の記事
【python】ファイル保存時に自動でリネームしたい 2020.11.01