【问题标题】:Reading headers from csv file stored on S3 in R从存储在 R 中 S3 上的 csv 文件读取标头
【发布时间】:2018-07-23 21:15:14
【问题描述】:

我正在尝试从存储在 s3 上的 csv 文件中读取标题。我已经尝试了几种方法来做到这一点。但是,我所有的方法都在 R 本地从 s3 下载 csv,然后读取标题。这不是有效的方法。

我的尝试:

dt <- aws.s3::s3read_using(FUN = fread(headers=T,nrows = 1),
                     bucket = "bucket_name/path/,
                     object = "abc.csv"))
cols <- colnames(dt)

第二次尝试:

  # Getting file locally and then reading headers.
  system(paste("s3cmd get --force -v ", s3Path, s3FileName, " ", s3FileName, sep = ""))
  df <- data.table::fread(s3FileName, ...)
  cols <- colnames(df)

我知道可能有一些有效的方法可以做到这一点。任何建议将不胜感激。我特别希望在 R 中做到这一点。

【问题讨论】:

    标签: r amazon-web-services csv amazon-s3 read.csv


    【解决方案1】:

    简答:S3 是文档存储,而不是文件系统。您不能 (*) 对远程 S3 对象执行文件系统操作。

    更长、更正确的答案:您不必每次都下载整个文件。 You can use the s3 api to pull a section of the file 如图所示。

    拉下每个文件的前 n kb,其中 n 足够大以始终获取标题,然后正常处理这些标题。

    【讨论】:

    • 了解新事物!非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 2021-10-25
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    相关资源
    最近更新 更多