質問編集履歴

4

追加

2020/10/30 06:02

投稿

person
person

スコア224

test CHANGED
File without changes
test CHANGED
@@ -116,6 +116,8 @@
116
116
 
117
117
  if tmp1[1] == tmp2[1]:
118
118
 
119
+ # 時間が古いなら削除候補に追加
120
+
119
121
  if tmp1[2][0:12] > tmp2[2][0:12]:
120
122
 
121
123
  delete.append(backup[j])
@@ -123,6 +125,8 @@
123
125
 
124
126
 
125
127
  for i in range(len(delete)):
128
+
129
+ # 削除候補のデータが含まれていれば消す
126
130
 
127
131
  if delete[i] in backup:
128
132
 

3

追加

2020/10/30 06:02

投稿

person
person

スコア224

test CHANGED
File without changes
test CHANGED
@@ -58,4 +58,84 @@
58
58
 
59
59
 
60
60
 
61
+ 自分の方ではpandasを使えないので、使わずにできるかどうかを試しました。
62
+
63
+ 無理でしたが・・・。
64
+
65
+ ```Python
66
+
67
+ files = [
68
+
69
+ "AAA_A01_20201030040000.csv",
70
+
71
+ "AAB_A02_20201030040001.csv",
72
+
73
+ "CBA_A02_20201030041001.csv",
74
+
75
+ "DD0_A03_20201030040000.csv",
76
+
77
+ "DD0_A03_20201030040002.csv"
78
+
79
+ ]
80
+
81
+
82
+
83
+ # 案
84
+
85
+ # リストをコピーしておいて、不要と判断した部分をリストから削除
86
+
87
+ # (空のリストに必要と判断した部分を追加してもいい)
88
+
89
+ # 問題は、「不要(または必要)と判断する」という部分がわからない
90
+
91
+
92
+
93
+ backup = files
94
+
95
+
96
+
97
+ # 消すやつを控えておく
98
+
99
+ delete = []
100
+
101
+
102
+
103
+ for i in range(len(files)):
104
+
105
+ for j in range(len(backup)):
106
+
107
+ # Numが一致しているか
108
+
109
+ if files[i][-6:-4] == backup[j][-6:-4]:
110
+
111
+ # nameが一致しているか
112
+
113
+ tmp1 = files[i].split("_")
114
+
115
+ tmp2 = backup[j].split("_")
116
+
117
+ if tmp1[1] == tmp2[1]:
118
+
119
+ if tmp1[2][0:12] > tmp2[2][0:12]:
120
+
121
+ delete.append(backup[j])
122
+
123
+
124
+
125
+ for i in range(len(delete)):
126
+
127
+ if delete[i] in backup:
128
+
129
+ backup.pop(backup.index(delete[i]))
130
+
131
+
132
+
133
+ # このbackupに対象データのみを入れたい
134
+
135
+ print(backup)
136
+
137
+ ```
138
+
139
+
140
+
61
141
  回答よろしくお願いします。

2

追加

2020/10/30 05:48

投稿

person
person

スコア224

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
 
54
54
 
55
- 前回の質問の回答()にありましたpandasを使えば実現は可能かもしれませんが、
55
+ [前回の質問](https://teratail.com/questions/301136)の回答にありましたpandasを使えば実現は可能かもしれませんが、
56
56
 
57
57
  使い方が分からず実装が出来ません。
58
58
 

1

追加

2020/10/30 04:23

投稿

person
person

スコア224

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  nameが同じ場合、日時のデータが新しいものを残し、古い方は消します。
8
8
 
9
- (Numはピリオド前の2桁の数字)
9
+ (dataは年~分、Numはピリオド前の2桁の数字)
10
10
 
11
11
 
12
12