前提・実現したいこと
コマンドラインの中で以下の仕様を実装するコードが知りたいです。
1.コマンドライン引数で起動する。
2.引数はファイル名に連動する。
3.S3上にある1件ずつのcsvのファイル名をリストにしたcsvをS3にアップロードする。
4.1つにしたcsvからコマンドラインで指定したオプションパラメーターでフィルターをかけたリストをcsvにしローカル保存。
※csvを1つにする際に同じ種類のものがあったら1番新しいものを使用する。
作成するリストは「果物」と「好み」でフィルターされた指定期間のもの。
「果物」で被ってるのがあったら1番新しいものだけを表示する。
ファイル例)
S3ファイル名:
果物 好み 期間
バナナ-嫌い-20190619.csv
ミカン-好き-20190619.csv
リンゴ-好き-20190620.csv
イチゴ-好き-20190621.csv
コマンドライン例)
python test.py 果物 好み 期間始め 期間終わり
import boto3
import sys
import csv
#S3設定
BUCKET_NAME = 'hoge'
aws_access_key_id = 'IAMユーザーの'
aws_secret_access_key = 'IAMユーザーの'
def main():
#コマンドラインスタート
args = sys.argv
print(args)
print("果物 :" + args[1])
print("好み :" + args[2])
print("期間初め:" + args[3])
print("期間終了:" + args[4])
#S3からcsvをダウンロード ファイル名を取得してリストにする為不要と思われる。
s3 = boto3.resource('s3')
bucket = s3.Bucket(BUCKET_NAME)
bucket.download_file('')
#S3にあるcsvを1つにしてcsvを作る(既にある場合は上書き)
#作ったcsvをS3にアップロード
s3 = boto3.resource('s3')
bucket = s3.Bucket(BUCKET_NAME)
bucket.upload_file('s3all.csv')
#コマンドライン引数で指定したオプションでフィルターしリストのcsvを作る。
#作ったcsvをローカルに保存
f = open('list.csv', 'ab')
if __name__ == '__main__':
main()
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
0
・S3上のファイルをダウンロードする
・ローカルにあるファイルをS3にアップロードする
まずは上の2つのコードを別々でいいので実装し、動作を確認しましょう。
はなしはそれからとなります
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.34%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
y_waiwai
2019/06/19 13:34
で、しつもんはなんでしょうか
shoshi
2019/06/19 16:32
追記済です。