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

Google Cloud Function中使用Python修改Google Storage存储桶内CSV文件

实现代码

首先导入所需依赖模块:

import csv
import io
from datetime import date
from google.cloud import storage

# storage客户端建议放在函数外初始化,避免重复实例化增加冷启动开销
storage_client = storage.Client()

完整函数实现如下:

def addDataToCsv(bucket, fileName, path=''):
    today = str(date.today())

    bucket = storage_client.get_bucket(bucket)
    blob = bucket.blob(fileName)
    # 下载blob为字节后解码为UTF-8文本
    raw_content = blob.download_as_string().decode('utf-8')

    # 完全在内存中处理CSV内容,无本地磁盘写入
    input_io = io.StringIO(raw_content)
    output_io = io.StringIO()
    reader = csv.reader(input_io)
    writer = csv.writer(output_io)

    # 处理表头:新增date字段
    headers = next(reader)
    headers.append('date')
    writer.writerow(headers)

    # 处理每行数据:末尾追加当日日期
    for row in reader:
        row.append(today)
        writer.writerow(row)

    # 上传处理后的CSV到存储桶
    modified_content = output_io.getvalue()
    blobNew = bucket.blob(f'{path}/mod.csv')
    blobNew.upload_from_string(modified_content, content_type='text/csv')

注意事项

  • 全流程内存操作,完全适配Cloud Function无本地持久化存储的运行环境
  • 使用标准库csv处理内容,可自动兼容带逗号、引号等特殊字符的CSV格式,避免手动拼接字符串引发的格式错误
  • 若不需要path参数拼接路径,可直接写目标blob的完整路径即可

内容的提问来源于stack exchange,提问作者Nikita P

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:09:03