0

S3FileSystemPythonで使用してS3でcsvを書き込もうとしています。書き込むたびに、現在の日付のキー ('%Y-%m -%d') データが日付ごとに編成されるようにします。このように、データは日付ごとに整理され、同じ日に新しいキーは作成されないと考えていました。

file_name_s3 = f"{strftime('%Y-%m-%d', gmtime())}/test_feature-{strftime('%Y-%m-%d-%H-%M-%S', gmtime())}.csv"

しかし、私は実行されているように見えます。以下のコードを今日の日付 (2021-03-17) に実行すると、初めてこのキー2021-03-17が作成されます。2021-03-18同じ日に実行していても、次回は新しいキーが作成されます。

誰でもこれを解決する方法を提案できますか?

以下の完全なコード

file_name_s3 = f"{strftime('%Y-%m-%d', gmtime())}/test_feature-{strftime('%Y-%m-%d-%H-%M-%S', gmtime())}.csv"
writekey = 'rca/RnD/test/'+file_name_s3
bucket = 'mybucket'


def write_to_s3(bucket, writekey, result_feature_dict):
    '''
    Writes the feature dictionary as a CSV to S3
    '''
    print("Writing to S3...")
    s3 = s3fs.S3FileSystem(anon=False)
    toCSV = []
    for key, value in result_feature_dict.items():
        toCSV.append(value)
    keys = toCSV[0].keys()
    
    with s3.open('{}/{}'.format(bucket, writekey), mode='w', newline='') as f:
        dict_writer = csv.DictWriter(f, keys)
        dict_writer.writeheader()
        dict_writer.writerows(toCSV)

アップデート

これは実際に機能します。日付は UTC だったので、現地の日付は同じでしたが、日付が UTC で変更され、混乱が生じました。

4

0 に答える 0