Итак, я искал повсюду и не могу понять, почему я не могу получить результаты из моей работы для записи в файл xlsx.
Я запускаю список URL-адресов из файла .csv. Я добавляю туда 10 URL, Beautifulsoup соскребает их. Если я просто распечатываю фрейм данных, это наше право.
Если я попытаюсь сохранить результаты в формате xlsx (что предпочтительно) или в формате csv, он выдаст мне результаты только с последнего URL.
Если я запускаю это, он печатает идеально
with open('G-Sauce_Urls.csv' , 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for line in csv_reader:
r = requests.get(line[0]).text
soup = BeautifulSoup(r,'lxml')
business = soup.find('title')
companys = business.get_text()
phones = soup.find_all(text=re.compile("Call (.*)"))
Website = soup.select('head > link:nth-child(4)')
profile = (Website[0].attrs['href'])
data = {'Required':[companys], 'Required_no_Email':[phones], 'Business_Fax':[profile] }
df = pd.DataFrame(data, columns = ['Required','First', 'Last', 'Required_no_Email', 'Business_Fax'])
Но я не могу заставить его добавить его в файл xlsx. Я получаю только последний результат, который я считаю, потому что он просто «пишет», а не добавляется.
Я пробовал:
writer = pd.ExcelWriter("ProspectUploadSheetRob.xlsx", engine='xlsxwriter', mode='a')
df.to_excel(writer, sheet_name='Sheet1', index=False, startrow=4, header=3)
workbook = writer.book
worksheet = writer.sheets['Sheet1']
writer.save()
И
with ExcelWriter('path_to_file.xlsx', mode='a') as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False, startrow=4, header=3)
writer.save()
И
df = pd.DataFrame(data, columns = ['Required','First', 'Last', 'Required_no_Email', 'Business_Fax'])
writer = pd.ExcelWriter("ProspectUploadSheetRob.xlsx", engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False, startrow=4, header=3)
writer.save()
И
Я начал читать в openpyxl, но в этот момент я так растерялся, что не понимаю этого.
Любая помощь приветствуется