Pythonでエクセルを読み込み、その中のテーブルにある日付を今日の日付と比較して処理を行いたいのですが、series型のため日付との比較ができません。
Series型についてあまり理解できてないのですが、dt.datetime.today()で取得する日付と比較できるようにするためにはどのようにすれば良いでしょうか?
オリジナルのソース
today = dt.datetime.today()
→2020-01-01の形式
files = glob.glob(‘*.xlsx’)
a = pd.read_excel(files[1])
※読み込んだaの中に'締切日'というカラムがあります。形式は20200101です。
トライ1:
a['締切日'] = pd.to_datetime(a['締切日'])
→2020-01-01の形式なるが型はpandas.core.series.Seriesとなる
トライ2:
a = pd.read_excel(files[1], converter ={'締切日':str})
a['締切日'] =a['締切日'] [0:4] + '/' + a['締切日'] [4:6] + '/' + a['締切日'] [6:]
→上記実施後に日付へ変換しようとしたが、締切日の中身はNaNとなってしまう
締切日と本日の日付が一致した場合、その行を別の一覧に移したいです。
data1 = []
for row in a:
if a['締切日'] == today:
data1.append(a)
上記を実行すると下記のエラーが出ます
ValueError: The truth value of a Seriesis ambiguous. Use a.empty, a.bool(), a.any() or a,all().
Pythonを学び始めたところなので初歩的な質問で申し訳ございませんが、ご支援いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー