ファイルの作成日時を取得したい【python】

目次

環境

Windowsの仕様

エディション:Windows 10 Pro

バージョン:20H2

経緯

データを抽出する際にプロパティの中の”作成日時”を取得できたら、データ解析の時に便利だと思いたちました。

”作成日時”を取得する手順

各種インポート

import datetime
import os

datetimeとosをインポートします。

作成日時取得したいファイルのパスを取得

path = "data/01.csv"

今回は”deta”というフォルダの中に”01.csv”というファイルの作成日時を取ります。

ファイル作成日時を取得

いよいよ作成日時を取得します。

time = os.path.getctime(path)
time

os.path.getctimeを使います。すると、長い桁の数字が出力されます。これだとなんだかわかりませんね。

年月日を見やすく変換

なので、年月日にdatetime.fromtimestampを使って、変換します。以下のコード入力してください。

days = datetime.datetime.fromtimestamp(time)
print(days)

すると、データが見やすくなったかと思います。

さらに、わかりやすく変換

小数点以下とかいろいろ邪魔なので、もうひと手間かけます。

strftimeを使います。

make_file_days = days.strftime('%Y年%m月%d日%H:%M;%S')
make_file_days

すると、年月日と時間がわかりやすくなったかと思います。

これで、”ファイル作成年月日”を取得することができました。

Excelのカラムに代入してみる

せっかく取得できたので、次にExcelファイルのカラムに取得した”ファイル作成年月日”を代入しようと思います。

各種インポート

import pandas as pd
import openpyxl

pandas と openpyxlをインポートします。

Excelデータを読み込みます


#Excelデータ読み込み
df = pd.read_excel('test.xlsx')

こんな感じです。”test.xlsx”というファイルのカラムに代入します。

必要なカラムだけ取得します

先ほど読み込んだ”test.xlsx”の使うカラム。今回は1行だけなので、1つだけ取ります。

#必要なカラムだけ取得
df = df[[c00']]

”c00”という行だけ、取得しました。

取得した”作成日時”を[]で囲う

取得した”作成日時(make_file_days)”をそのまま代入すると、TypeErrorになるので、[]でくくります。

make_file_days = [make_file_days] 

カラムに”作成日時(make_file_days)”を代入

#カラムに作成日時を代入
df.columns = make_file_days

すると、’c00’が’作成日時’代わりました。

終わりです。

苦労したところ

days = datetime.datetime.fromtimestamp(time)
print(days)

のところで小数点以下を消すのに苦労した。

splitやlocとか試しけど使えないし、そもそも”day”が何型なのかもわからないし、で大変でした。

勉強します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次