Как вывести в файл CSV, используя csv.write и добавить заголовки - Python3 / boto3 - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь записать значение моего 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)

ЛЮБЫЕ ИДЕИ или предложения?

1 Ответ

0 голосов
/ 20 января 2020

Если вы хотите легко связать столбцы с заголовком, я бы предложил использовать csv.DictWriter, как описано в документации: https://docs.python.org/3/library/csv.html#csv .DictWriter .

Это позволяет вам не только связывать Значения для заголовков в виде простого dict, без необходимости писать строки вручную, но также имеет удобный метод writeheader(), который включит ваш заголовок в файл для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...