実現したいこととしては「取得したtxtデータをcsvファイルに変換したい」です。
条件がいくつかあります。
・txtファイルは複数ありすべてをfor分で順番に読み込んでいる。
・読み込んだtxtファイルは横方向に追加していきたい。
ここで私が記述したコードを説明します。
import re import pandas as pd import glob import os from natsort import natsorted import csv #ファイル内のtxtファイルをsrc_fileに読み込み src_files = glob.glob('test/*.txt') #読み込んだリストを並び替え src_files = natsorted(src_files) #読み込んだファイルの中身を操作して書き出してみる for src_file in src_files: with open (src_file, "r") as f: data=f.read() data = re.sub("## Starting application[\s\S]*?\[Results\]","",data) data = re.sub("## [\s\S]*?\,","",data) data = re.sub("[^\n]*[\s=](\d+\n)", r"\1", data) print(data)
出力結果
508670283
530444728
0
44162663
0
508670283
132505470
3
18511
132505469
508670283
508670280
169556759
0
265394448
508670283
0
88559708
0
88559707
508670283
0
0
0
0
508670283
66561235
84871
0
0
508670283
0
0
0
0
508670283
0
0
0
1
508670283
0
0
0
0
508670283
0
0
0
0
508670283
0
0
0
0
622475373
649315728
0
54064163
0
622475373
162211970
3
20511
162211969
622475373
622475370
207491789
0
324848448
622475373
0
108387708
0
108387707
622475373
0
0
0
0
622475373
81299322
93871
0
0
622475373
0
0
0
0
622475373
0
0
0
1
622475373
0
0
0
0
622475373
0
0
0
0
622475373
0
0
0
0
このような数字の列のみになるように操作しました。
----------------------------部分はtxtファイルの句切れであり実際には2行改行があるだけです。
わからないのはこの数字の列を横方向に連結しそれをcsvファイルに変換する方法です
※読み込みむtxtファイルは37こあります。

0 コメント