teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

実際のソースを追加いたしました

2021/07/29 06:25

投稿

abide
abide

スコア5

title CHANGED
File without changes
body CHANGED
@@ -1,13 +1,33 @@
1
1
  Pythonでエクセルを読み込み、その中のテーブルにある日付を今日の日付と比較して処理を行いたいのですが、series型のため日付との比較ができません。
2
2
 
3
- to_datetime、parse_date、converter、dtype=などなどいろいろ試しエラーは出ないものの、型を確認するとseriesのままのようです。
4
3
 
5
4
  Series型についてあまり理解できてないのですが、dt.datetime.today()で取得する日付と比較できるようにするためにはどのようにすれば良いでしょうか?
6
5
 
7
6
  オリジナルのソース
7
+
8
+ today = dt.datetime.today()
9
+ →2020-01-01の形式
10
+
8
11
  files = glob.glob(‘*.xlsx’)
9
12
  a = pd.read_excel(files[1])
13
+ ※読み込んだaの中に'締切日'というカラムがあります。形式は20200101です。
10
14
 
15
+ トライ1:
11
- 読み込み時の型指定や、読み込み後にカラム指定でto_datetimeなど試しましたがエラーは起きず、series型のままで付との比較ができませんでした。
16
+ a['締切日'] = pd.to_datetime(a['締切'])
17
+ →2020-01-01の形式なるが型はpandas.core.series.Seriesとなる
12
18
 
19
+ トライ2:
20
+ a = pd.read_excel(files[1], converter ={'締切日':str})
21
+ a['締切日'] =a['締切日'] [0:4] + '/' + a['締切日'] [4:6] + '/' + a['締切日'] [6:]
22
+ →上記実施後に日付へ変換しようとしたが、締切日の中身はNaNとなってしまう
23
+
24
+ 締切日と本日の日付が一致した場合、その行を別の一覧に移したいです。
25
+ data1 = []
26
+ for row in a:
27
+ if a['締切日'] == today:
28
+ data1.append(a)
29
+ 上記を実行すると下記のエラーが出ます
30
+ ValueError: The truth value of a Seriesis ambiguous. Use a.empty, a.bool(), a.any() or a,all().
31
+
32
+
13
33
  Pythonを学び始めたところなので初歩的な質問で申し訳ございませんが、ご支援いただけますと幸いです。