【问题标题】:How to output to a csv file using csv.write and add headers- Python3/boto3如何使用 csv.write 输出到 csv 文件并添加标头 - Python3/boto3
【发布时间】:2020-01-20 18:16:53
【问题描述】:

我正在尝试将我的 bucket.name 和 obj.key 的值写入一个 csv 文件,并在其各自的列中使用其各自的值。

当我运行下面的代码时,它只输出没有标题的值。

我正在尝试为每个 .format 对象添加一个标题,但不知道从哪里开始。

这是我的代码:

def load_into_csv(years):
    for year in years:
        with open('/my_path/{}_V123_files.csv'.format(year), 'w', newline='') as file:
            for buckett in s3.buckets.all():
                for aobj in buckett.objects.filter(Bucket=bucket,Prefix=PREFIX):
                    if year in aobj.key:
                        #VALUES I WANT TO SEPARATE BY VALUE
                        file1= '{}:{}:{}:{}:{}'.format(buckett.name,aobj.key, aobj.last_modified)
                        writer = csv.writer(file, delimiter=',')
                        writer.writerow([file1])

years=['2017']
load_into_csv(years)

有什么想法或建议吗?

【问题讨论】:

    标签: python-3.x csv boto3


    【解决方案1】:

    如果您想轻松地将列与标题相关联,我建议您使用 csv.DictWriter,如文档中所述:https://docs.python.org/3/library/csv.html#csv.DictWriter

    它不仅允许您将值与标题关联为一个简单的字典,而无需手动编写字符串,而且它还具有方便的writeheader() 方法,它将为您将标题包含在文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-26
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      相关资源
      最近更新 更多