[Python初心者]複数テキストの行削除とマージ

  • 目的

沢山のtxtファイルがあり、全てのファイルの先頭を何行か削除して
一つのtxtファイルにします

  • ライブラリをimportしディレクトリを設定する

import pathlib
import glob
import re
import os
import time
import numpy as np
import pandas as pd
os.chdir('/home/jovyan/work/うまぴょい') #「うまぴょい」ディレクトリを設定
  • 一個ずつtxtファイルを読み込んで、先頭を何行か削除し、新しいtxtファイルにマージする

def read_file(name):
  ans = []
  with open(name, "r") as f:
        ans.append(f.readlines())
  return ans
p_temp = pathlib.Path(os.getcwd()) #ディレクトリ内の全ファイルを取得

l_file = [p.name for p in p_temp.iterdir()]

for name in l_file:
    lines_ary = read_file(name)
    for lines in lines_ary:
        for i in range(5):  #先頭から5行削除
            del(lines[0])
    with open("/home/jovyan/work/うまぴょい伝説.txt", mode='a') as f:
        f.writelines(lines_ary[0]) #「うまぴょい伝説」txtファイルに一行ずつ書き込む


この記事が気に入ったらサポートをしてみませんか?