【问题标题】:How to use S3 put_object without messing up dates?如何在不弄乱日期的情况下使用 S3 put_object?
【发布时间】:2022-01-08 20:53:22
【问题描述】:
import boto3

s3 = boto3.client('s3')

csv_records = ['"name","date"',
'"ankan","2021-12-02 14:02:40"']

body = "\n".join(csv_records)
body = str.encode(body)
s3.put_object(Bucket=bucket_name, Key=path, Body=body)

运行此代码 sn-p 后,在 S3 上生成的 csv(路径变量具有 csv 位置 dw)包含类似“2021-12-02 14:02”的日期。 不知何故,冒号后面的其余日期根本不存在。

我尝试过使用和不使用 str 编码进行调试,但没有任何效果。日期被弄乱了,它只发生在日期字段中。

在这里做什么?

【问题讨论】:

  • 您是否在 Excel 中打开 CSV? Excel 可能使用不显示完整值的不同格式

标签: python amazon-web-services amazon-s3 boto3


【解决方案1】:

对我来说运行良好。

当我从 S3 下载文件并打印其内容时,我得到:

"name","date"
"ankan","2021-12-02 14:02:40"

【讨论】:

  • 是的,所以问题在于 Excel 自己决定截断并显示日期。有趣的是,我在 Excel 上随机点击了一个日期条目,整个数据都在那里。
【解决方案2】:

因此 Excel 决定无缘无故地截断并显示日期。只需单击一个日期即可意识到它实际上完全存在。 我想这对于那些可能碰巧面临同样“问题”的人来说是一个“解决方案”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    相关资源
    最近更新 更多