I am working on a web scraping project, I am trying to save the results into a CSV file,
JavaScript
x
23
23
1
data = {
2
'address_area': area,
3
'address_district': district,
4
'website': website,
5
'branch_rating': rating,
6
'facilities_delivery': delivery,
7
'facilities_banquet': banquet,
8
'facilites_shisha': shisha,
9
'faciliteis_minumum': minumium,
10
'facilites_reservation': reservation,
11
'facilities_free_wifi': wifi,
12
'facilities_smoking_permited': smoking,
13
'facilities_eat_out': eat_out,
14
'facilities_private_parking': parking,
15
'facilities_price_range': price_range,
16
'facilities_kids_ares': kids_ares,
17
'branch_no': branch_no}
18
mainlist.append(data)
19
with open('filetest.csv', 'w') as f:
20
writer = csv.writer(f)
21
for value in mainlist:
22
writer.writerow([value])
23
I want to save the key in the dictionary as columns and the values as a row, (keep in mind that the value pair in the dictionary refers to a variable that extracts data from a web site)
Advertisement
Answer
Here is a solution that can work for you. I added a second data item to your code (data2) and renamed the initial data element to data1.
JavaScript
1
50
50
1
mainlist = []
2
3
#initial data item
4
data1 = {
5
'address_area': 'area1',
6
'address_district': 'district1',
7
'website': 'website1',
8
'branch_rating': 'rating1',
9
'facilities_delivery': 'delivery1',
10
'facilities_banquet': 'banquet1',
11
'facilites_shisha': 'shisha1',
12
'faciliteis_minumum': 'minumium1',
13
'facilites_reservation': 'reservation1',
14
'facilities_free_wifi': 'wifi1',
15
'facilities_smoking_permited': 'smoking1',
16
'facilities_eat_out': 'eat_out1',
17
'facilities_private_parking': 'parking1',
18
'facilities_price_range': 'price_range1',
19
'facilities_kids_ares': 'kids_aresa1',
20
'branch_no': 'branch_no1'}
21
mainlist.append(data1)
22
23
#second data item
24
data2 = {
25
'address_area': 'area2',
26
'address_district': 'district2',
27
'website': 'website2',
28
'branch_rating': 'rating2',
29
'facilities_delivery': 'delivery2',
30
'facilities_banquet': 'banquet2',
31
'facilites_shisha': 'shisha2',
32
'faciliteis_minumum': 'minumium2',
33
'facilites_reservation': 'reservation2',
34
'facilities_free_wifi': 'wifi2',
35
'facilities_smoking_permited': 'smoking2',
36
'facilities_eat_out': 'eat_out2',
37
'facilities_private_parking': 'parking2',
38
'facilities_price_range': 'price_range2',
39
'facilities_kids_ares': 'kids_aresa2',
40
'branch_no': 'branch_no2'}
41
mainlist.append(data2)
42
43
filename = 'filetest.csv'
44
headers = ",".join(data1.keys())
45
with open(filename, 'w') as f:
46
f.write(headers + 'n')
47
for item in mainlist:
48
f.write(','.join(str(item[key]) for key in item) + 'n')
49
print("All done. Check this file for results:",filename)
50