From 1adcf0b2247a470530cd187edb8fd09f4fcdf0d6 Mon Sep 17 00:00:00 2001 From: yann Date: Tue, 12 Nov 2024 19:17:30 +0100 Subject: [PATCH] data dict to list and write header then list --- phase1/main.py | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/phase1/main.py b/phase1/main.py index f13accd..7f46836 100644 --- a/phase1/main.py +++ b/phase1/main.py @@ -39,30 +39,16 @@ def product_description(soup): #create a dict with all information for writing loop later # /!\ don't know if that's the best way def get_data(soup, url): - info= {} - info = { - 'product_page_url': url, - 'universal_ product_code (upc)': product_information(soup)['UPC'], - 'title': get_title(soup), - 'price_including_tax': product_information(soup)['Price (incl. tax)'], - 'price_excluding_tax': product_information(soup)['Price (excl. tax)'], - 'number_available': product_information(soup)['Availability'], - 'product_description': product_description(soup), - 'category': "TODO", - 'review_rating': product_information(soup)['Number of reviews'], - 'image_url': get_image_url(soup, url) - } + info = [url, product_information(soup)['UPC'], get_title(soup), product_information(soup)['Price (incl. tax)'], product_information(soup)['Price (excl. tax)'], product_information(soup)['Availability'], product_description(soup), "TODO", product_information(soup)['Number of reviews'], get_image_url(soup, url)] return info #write the file def data_output(info, file): fieldnames = ['product_page_url', 'universal_ product_code (upc)', 'title', 'price_including_tax', 'price_excluding_tax', 'number_available', 'product_description', 'category', 'review_rating', 'image_url'] - with open('output.csv', 'w') as csv_file: - writer = csv.DictWriter(csv_file, fieldnames=fieldnames ) - - writer.writeheader() - for line in info: - writer.writerow(line) + with open(file, 'w') as csv_file: + writer = csv.writer(csv_file, delimiter=',') + writer.writerow(fieldnames) + writer.writerow(info) @@ -80,6 +66,7 @@ def main(): print(test['Availability']) info=get_data(soup, url) + print(info) data_output(info, 'output.csv') if __name__ == "__main__":