Pythonを使用した文字列(時刻)の処理の仕方についてです。
HH:MM:SS.ssssssという形式の文字列での時刻データがあり、これを表示させる際に、時間・分・秒のそれぞれの十の位が0である場合は表示しないようにしたいと思っております。
例えば、"05:32:56.234544"というデータである場合は、"5時32分56秒"として表示させたいです。
このデータはPandasを使用してCSVファイルから持ってきておりますので、現在は、
Python
1import pandas as pd 2df = pd.read_csv('CSV_file') 3time = df.iat[0,0]
のような形になっております。これに対して、
Python
1if time[0] == "0": 2 reg_time = time[1:2] + "時" + time[3:5] + "分" + time[6:8] + "秒"
として、時・分・秒それぞれのスライスでif文を繰り返し、さらに"02:12:01.12345"のような0が複数入る形式にも対応するために、論理演算子を使用して条件を増やしております(time[0] == time[3] == "0"のような形)。
そうするとif-else文がそれなりの量になってしまうのですが、もう少し簡単にできる方法はないでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/28 07:29
2018/08/28 07:38 編集
2018/08/28 07:43