質問編集履歴
4
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
前提・実現したいこと
|
2
2
|
|
3
3
|
コマンドラインの中で以下の仕様を実装するコードが知りたいです。
|
4
4
|
|
@@ -8,9 +8,7 @@
|
|
8
8
|
|
9
9
|
2.引数はファイル名に連動する。
|
10
10
|
|
11
|
-
3.S3上にある1件ずつのcsvを
|
11
|
+
3.S3上にある1件ずつのcsvのファイル名をリストにしたcsvをS3にアップロードする。
|
12
|
-
|
13
|
-
S3にアップロードする。
|
14
12
|
|
15
13
|
4.1つにしたcsvからコマンドラインで指定したオプションパラメーターでフィルターをかけたリストをcsvにしローカル保存。
|
16
14
|
|
@@ -18,11 +16,9 @@
|
|
18
16
|
|
19
17
|
※csvを1つにする際に同じ種類のものがあったら1番新しいものを使用する。
|
20
18
|
|
19
|
+
作成するリストは「果物」と「好み」でフィルターされた指定期間のもの。
|
21
20
|
|
22
|
-
|
23
|
-
※作成するリストは果物の種類と好きか嫌いでフィルターされた指定期間のもの。
|
24
|
-
|
25
|
-
果物で被ってるのがあったら1番新しいものだけを表示する。
|
21
|
+
「果物」で被ってるのがあったら1番新しいものだけを表示する。
|
26
22
|
|
27
23
|
|
28
24
|
|
@@ -46,7 +42,7 @@
|
|
46
42
|
|
47
43
|
コマンドライン例)
|
48
44
|
|
49
|
-
python test.py
|
45
|
+
python test.py 果物 好み 期間始め 期間終わり
|
50
46
|
|
51
47
|
|
52
48
|
|
@@ -94,13 +90,13 @@
|
|
94
90
|
|
95
91
|
|
96
92
|
|
97
|
-
#S3からcsvをダウンロード
|
93
|
+
#S3からcsvをダウンロード ファイル名を取得してリストにする為不要と思われる。
|
98
94
|
|
99
95
|
s3 = boto3.resource('s3')
|
100
96
|
|
101
97
|
bucket = s3.Bucket(BUCKET_NAME)
|
102
98
|
|
103
|
-
bucket.download_file('')
|
99
|
+
bucket.download_file('')
|
104
100
|
|
105
101
|
|
106
102
|
|
3
s3ダウンロードコード追加。
test
CHANGED
File without changes
|
test
CHANGED
@@ -94,6 +94,16 @@
|
|
94
94
|
|
95
95
|
|
96
96
|
|
97
|
+
#S3からcsvをダウンロード
|
98
|
+
|
99
|
+
s3 = boto3.resource('s3')
|
100
|
+
|
101
|
+
bucket = s3.Bucket(BUCKET_NAME)
|
102
|
+
|
103
|
+
bucket.download_file('')#全てダウンロードするのはちょっと違うと思う…ファイル名のリストだし。
|
104
|
+
|
105
|
+
|
106
|
+
|
97
107
|
#S3にあるcsvを1つにしてcsvを作る(既にある場合は上書き)
|
98
108
|
|
99
109
|
|
2
コードの追加。
test
CHANGED
File without changes
|
test
CHANGED
@@ -60,6 +60,18 @@
|
|
60
60
|
|
61
61
|
import sys
|
62
62
|
|
63
|
+
import csv
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
#S3設定
|
68
|
+
|
69
|
+
BUCKET_NAME = 'hoge'
|
70
|
+
|
71
|
+
aws_access_key_id = 'IAMユーザーの'
|
72
|
+
|
73
|
+
aws_secret_access_key = 'IAMユーザーの'
|
74
|
+
|
63
75
|
|
64
76
|
|
65
77
|
def main():
|
@@ -72,7 +84,7 @@
|
|
72
84
|
|
73
85
|
print("果物 :" + args[1])
|
74
86
|
|
75
|
-
print("好
|
87
|
+
print("好み :" + args[2])
|
76
88
|
|
77
89
|
print("期間初め:" + args[3])
|
78
90
|
|
@@ -88,13 +100,21 @@
|
|
88
100
|
|
89
101
|
#作ったcsvをS3にアップロード
|
90
102
|
|
103
|
+
s3 = boto3.resource('s3')
|
104
|
+
|
105
|
+
bucket = s3.Bucket(BUCKET_NAME)
|
106
|
+
|
107
|
+
bucket.upload_file('s3all.csv')
|
91
108
|
|
92
109
|
|
110
|
+
|
93
|
-
#コマンドライン引数で指定したオプションでフィルターしリスト
|
111
|
+
#コマンドライン引数で指定したオプションでフィルターしリストのcsvを作る。
|
94
112
|
|
95
113
|
|
96
114
|
|
97
115
|
#作ったcsvをローカルに保存
|
116
|
+
|
117
|
+
f = open('list.csv', 'ab')
|
98
118
|
|
99
119
|
|
100
120
|
|
1
質問内容の追加。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
### ヘディングのテキスト### 前提・実現したいこと
|
2
|
+
|
3
|
+
コマンドラインの中で以下の仕様を実装するコードが知りたいです。
|
2
4
|
|
3
5
|
|
4
6
|
|
@@ -18,13 +20,9 @@
|
|
18
20
|
|
19
21
|
|
20
22
|
|
21
|
-
※作成するリストは果物の種類と
|
23
|
+
※作成するリストは果物の種類と好きか嫌いでフィルターされた指定期間のもの。
|
22
24
|
|
23
|
-
好きか嫌いでフィルターされた、
|
24
|
-
|
25
|
-
指定期間のもの。果物で被ってるのが
|
26
|
-
|
27
|
-
あったら1番新しいものだけ
|
25
|
+
果物で被ってるのがあったら1番新しいものだけを表示する。
|
28
26
|
|
29
27
|
|
30
28
|
|
@@ -32,12 +30,76 @@
|
|
32
30
|
|
33
31
|
S3ファイル名:
|
34
32
|
|
35
|
-
|
33
|
+
果物 好み 期間
|
36
34
|
|
37
|
-
バナナ-
|
35
|
+
バナナ-嫌い-20190619.csv
|
36
|
+
|
37
|
+
ミカン-好き-20190619.csv
|
38
|
+
|
39
|
+
リンゴ-好き-20190620.csv
|
40
|
+
|
41
|
+
イチゴ-好き-20190621.csv
|
42
|
+
|
43
|
+
|
38
44
|
|
39
45
|
|
40
46
|
|
41
47
|
コマンドライン例)
|
42
48
|
|
43
|
-
python test.py
|
49
|
+
python test.py イチゴ 好きor嫌い 期間始め 期間終わり
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
```python
|
58
|
+
|
59
|
+
import boto3
|
60
|
+
|
61
|
+
import sys
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
def main():
|
66
|
+
|
67
|
+
#コマンドラインスタート
|
68
|
+
|
69
|
+
args = sys.argv
|
70
|
+
|
71
|
+
print(args)
|
72
|
+
|
73
|
+
print("果物 :" + args[1])
|
74
|
+
|
75
|
+
print("好き嫌い:" + args[2])
|
76
|
+
|
77
|
+
print("期間初め:" + args[3])
|
78
|
+
|
79
|
+
print("期間終了:" + args[4])
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
#S3にあるcsvを1つにしてcsvを作る(既にある場合は上書き)
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
#作ったcsvをS3にアップロード
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
#コマンドライン引数で指定したオプションでフィルターしリスト.csvを作る。
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
#作ったcsvをローカルに保存
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
if __name__ == '__main__':
|
102
|
+
|
103
|
+
main()
|
104
|
+
|
105
|
+
```
|