概要
- データ整理を効率化したいと考えている人
- 複数のテキストファイルのコピペ作業が辛い人
- Google Colaboratoryの設定が完了している人
- 複数のテキストファイルを一つのCSVファイルにまとめるとき
- 「~する」を一言で
- 5秒で動ける内容
- Google Colaboratoryに以下のプログラムをコピペする
- プログラム
# 必要なモジュールをインポート
import pandas as pd,glob,os,time,datetime,math
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import re
# Googleドライブからファイルを取得
from google.colab import drive
drive.mount('/content/drive')
# 必要なモジュールをインポート
# # フォルダの確認
os.getcwd()
folder_name = input() #フォルダ名
# # フォルダの移動
os.chdir("/content/drive/My Drive/"+folder_name)
# os.chdir("/content")
# # os.path.dirname("test.txt")
# # フォルダ名から実験番号の取得
exp_num=(os.getcwd()).split("/")[-1]
print(exp_num)
# テキストリストの取得
data_list = glob.glob('*.txt')
print(data_list)
os.getcwd()
# ある秒数だけにする
limit = input()
data_list_limit = [name for name in data_list if re.compile(limit).search(name)]
print(sorted(data_list_limit))
# 波長のみデータの読み込み(これが元となる)
data = pd.read_csv("/content/drive/My Drive/hacho_all.csv")
# hacho_all 188.433-1030.431 skiprows=14 skipfooter=0
# hacho400-750 399.404-750.2 skiprows=480 skipfooter=744
# hacho390-750 390.134-750.2 skiprows=480-21 skipfooter=744
# hacho300-750 300.267-750.2 skiprows=480-21-210 skipfooter=744
# hacho375-750 375.077-750.2 skiprows=480-21-34 skipfooter=744
data = data.drop("Unnamed: 0", axis=1)
for i,name in enumerate(data_list_limit):
# ファイル名のファイバー測定日時を文字列として取り込み、インデックスにする
time = ((name.split("_"))[-1].split("."))[0]
# データの取得
flu_data = pd.read_table(name,sep="\t",header=None,skiprows=13,skipfooter=0,names=("\lambda","int"))
# # 情報データの取得
# info_data = pd.read_table(name,sep=":",header=None,skiprows=0,skipfooter=2050,names=("A","B","C","D"))
# dataB5 = info_data["B"][5].split("E")
# integration_time = float(dataB5[0])*10**int(dataB5[1])
# print(integration_time)
# データの組み込み
# data[time] = (flu_data.drop("\lambda", axis=1))/integration_time
data[time] = (flu_data.drop("\lambda", axis=1))
# # データの並び替え
# data.sort_index(axis=1, inplace=True)
# データの保存
data.to_csv(exp_num+"_"+ limit + "_test.csv")
# data
コメント
コメントを投稿