Как сохранить данные в excel файл?

Рейтинг: 0Ответов: 1Опубликовано: 05.05.2023

введите сюда описание изображения

import requests
from bs4 import BeautifulSoup
import csv
import openpyxl
import pandas as pd
import xlsxwriter
import xlrd
from openpyxl import load_workbook
import numpy as np
from csv import writer
from lxml import html

headers = {
    'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
    'user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 OPR/94.0.0.0 (Edition Yx 02)'

}


#url = 'https://www.divan.ru/category/krovati-i-matrasy'  # делаем запрос на страницу
url = 'https://www.divan.ru/category/krovati'
response = requests.get(url)  # обработка запроса методом get
soup = BeautifulSoup(response.text, 'lxml')  # создаем суп
item = soup.find_all('div', {'class' : 'LlPhw'})
nami = soup.find_all('a', {'class': 'ImmXq dpmhZ b8BqN ProductName'})


for index, i in enumerate(item, start=1):
    nami = i.find('a', {'class': 'ImmXq dpmhZ b8BqN ProductName'}).text.strip()
    print(f'{index}. {nami}')

with xlsxwriter.Workbook('m.xlsx') as workbook:
    worksheet = workbook.add_worksheet()

    content = ["N", "Наименование"]


    worksheet.write_row(0, 1, content)

    for index, i in enumerate(item, start=1):
        nami = i.find('a', {'class': 'ImmXq dpmhZ b8BqN ProductName'}).text.strip()
        writer.write_row([index])
    writer.save()

Не записывает данные парсинга. Выдает следующую ошибку:

    writer.write_row([index])
    
AttributeError: 'builtin_function_or_method' object has no attribute 'write_row'

Ответы

▲ 2

Вы вызываете в своем коде write_row() для объекта записи, который является встроенной функцией Python, а не экземпляром модуля xlsxwriter

import requests
from bs4 import BeautifulSoup
import csv
import openpyxl
import pandas as pd
import xlsxwriter
import xlrd
from openpyxl import load_workbook
import numpy as np
from csv import writer
from lxml import html

headers = {
    'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
    'user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 OPR/94.0.0.0 (Edition Yx 02)'
}

url = 'https://www.divan.ru/category/krovati'
response = requests.get(url)  
soup = BeautifulSoup(response.text, 'lxml')  
item = soup.find_all('div', {'class' : 'LlPhw'})

with xlsxwriter.Workbook('m.xlsx') as workbook:
    worksheet = workbook.add_worksheet()

    content = ["N", "Наименование"]
    worksheet.write_row(0, 0, content)

    for index, i in enumerate(item, start=1):
        nami = i.find('a', {'class': 'ImmXq dpmhZ b8BqN ProductName'}).text.strip()
        row = [index, nami]
        worksheet.write_row(index, 0, row)