我希望将列表打印到每个列和行中。当它打印时,所有数据都被塞进一行csv文件中。我应该为csv文件做一个循环来逐个添加列表项吗?
def write_output(data):
with open('data.csv', mode='w') as output_file:
writer = csv.writer(output_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_ALL)
# Header
writer.writerow(["locator_domain", "location_name", "street_address", "city", "state", "zip", "country_code",
"store_number", "phone", "location_type", "latitude", "longitude", "hours_of_operation"])
# Body
for row in data:
writer.writerow(row)
def fetch_data():
base_url = 'http://leevers.com/'
r = requests.get(base_url)
soup = BeautifulSoup(r.text, 'lxml')
return_main_object = []
n = soup.select('div > p:nth-of-type(1)')
name = [a.text for a in n]
a = soup.select('div > p:nth-of-type(2)')
address = [a.text for a in a]
c = soup.select('div > p:nth-of-type(3)')
city = [a.text for a in c]
p = soup.select('div > p:nth-of-type(4)')
phone = [a.text for a in p]
country_code = 'US'
store = []
store.append(base_url)
store.append(name)
store.append(address)
store.append(city)
store.append('<MISSING>')
store.append('<MISSING>')
store.append(country_code)
store.append('<MISSING>')
store.append(phone)
store.append('<MISSING>')
store.append('<MISSING>')
store.append('<MISSING>')
store.append('<MISSING>')
return_main_object.append(store)
return return_main_object