Запятыми отделяется каждый символ в CSV файле при выводе

Написал простой парсер, но при выводе в csv списка значений принтеров каждый символ отделяется запятой. В чем может быть проблема?

вывод данных

Код:

import requests
from bs4 import BeautifulSoup as BS
import csv

p = 1

headers = {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
}


result_data = []
while True:
    url = "https://global.pantum.com/product-center/p-" + str(p) + "/#content"
    page = requests.get(url, headers=headers)
    save_data = page.text
    with open("index.html", "w", encoding="utf-8") as file:
        file.write(save_data)

    with open("index.html") as file:
        data = file.read()

    soup = BS(data, 'html.parser')
    is_new_hot_device = printers = None
    have_data = True
    try:
        is_new_hot_device = soup.find("div", class_="pro_list cf").find_all("span")
        printers = soup.find("div", class_="pro_list cf").find_all("dd")
        list(is_new_hot_device)
        list(printers)
    except Exception:
        have_data = False

    
    if have_data and len(printers):
        for i in range(0, len(printers)):
            if i >= len(is_new_hot_device):
                result_data.append(printers[i].text.strip())
            elif len(is_new_hot_device): 
                result_data.append(printers[i].text.strip() + " " + is_new_hot_device[i].text.strip().upper())
        p += 1
    else:
        break
print(result_data)
with open("pantum_result_data.csv", "w") as file:
    wr = csv.writer(file)
    wr.writerow(
            ("Название_модели", "Актуальность")
       )

with open("pantum_result_data.csv", "a") as file:
    wr = csv.writer(file)
    wr.writerows(
        result_data
    )

Ответы (1 шт):

Автор решения: Сергей Ш
import requests
from bs4 import BeautifulSoup as BS
import csv

p = 1
with open("pantum_result_data.csv", 'w', newline='', encoding='utf-8') as file:
    wr = csv.writer(file)
    wr.writerow(("Название_модели", "Актуальность"))

    while True:
        url = f"https://global.pantum.com/product-center/p-{p}"
        page = requests.get(url)
        soup = BS(page.text, 'html.parser')
        cards = soup.find(class_="pro_list")
        if not cards:
            break
        for card in cards("dl"): # cards.find_all("dl")
            is_new_hot_device = card.find("span")
            is_new_hot_device = is_new_hot_device.text if is_new_hot_device else None
            printer = card.find("dd").text.strip()

            wr.writerow((printer, is_new_hot_device))
        p += 1
→ Ссылка