So i have a dictionary that was created after I scraped data from websites using selenium.
The format preview of the dictionary is as such. I printed the dictionary and it is working fine.
{'Website A': [apple,orange,pear], 'Website B': [apple,watermelon], 'Website C': [orange,pear]}
Below is my attempted code for the writing to csv. I understand that writerow requires some form of manipulation but how should I configure such that my list is correctly reflected each website? I tried to zip the dictionary values but it doesn't seem to display the data correctly. website_names is a list of website names that are the same as the keys in the dictionary.
with open('test.csv', 'w', newline = '') as csvfile:
cols = website_names
writer = csv.DictWriter(csvfile, fieldnames = cols, delimiter =';', extrasaction='ignore')
writer.writeheader()
writer.writerow(final_dict.keys())
writer.writerows(zip(*final_dict.values()))
This is how I'd like the data to be written on the csv file.
| Website | Data |
|---|---|
| Website A | apple, pear, orange |
| Website B | apple, watermelon |
| Website C | orange, pear |
But this is how it is displaying right now, everything smushed into two rows.
| Website A ; Website B; Website C | |
|---|---|
| [apple,pear,orange];[apple,watermelon];[orange,pear] |
Appreciate any help!