You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python从GCS存储桶获取按时间排序的最新CSV文件?

问题原因

你当前的代码直接使用list_blobs返回的结果生成文件名列表,再取最后一个元素,但GCS的list_blobs默认不会按文件修改时间排序,所以这个逻辑无法拿到最新的CSV文件。

修正后的代码

要基于文件的最后修改时间获取最新CSV,需要保留blob对象并按时间排序:

store_input_folder='store_nlp'
str_files = bucket.list_blobs(prefix=store_input_folder)
# 筛选CSV格式的blob对象,用endswith更严谨
store_blobs = [blob for blob in str_files if blob.name.endswith('.csv')]

if not store_blobs:
    log.info("Currently no new store file present in Folder")
else:
    # 按最后修改时间倒序排序,取第一个即为最新文件
    latest_blob = sorted(store_blobs, key=lambda blob: blob.updated, reverse=True)[0]
    store_updated_file = latest_blob.name
额外说明
  • blob.updated是文件的最后修改时间,返回datetime对象,可直接用于排序
  • 如果需要按文件创建时间筛选,可替换为blob.time_created
  • 用endswith('.csv')替代'.csv' in file.name,能避免误匹配文件名中包含csv字符串的非CSV文件

内容的提问来源于stack exchange,提问作者Big data Pyspark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 05:42:24