Openpyxl varolan bir xlsx dosyasını düzenleme

İyi akşamlar gittigidiyor ürün linkine göre ürün adı, satıcı, fiyat gibi özellelikleri xlsx dosyasına kaydeden bir program yapıyordum fakat kullanıcı her link yazdığında dosyada önceki verilerle değiştiriliyor bunu düzeltip var olan verinin altına yazılmasını nasıl sağlayabilirim

import requests
from parsel import Selector
import re
from openpyxl import *
from openpyxl import Workbook
target_url = input("Gitti Gidiyorda ürün linkini yazınız\n>> ")
headers = {
‘User-Agent’: ‘Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)’
}
response = requests.get(target_url, headers=headers)
if response.status_code == 200:
print(‘Bağlantı kuruldu!’)
selector = Selector(response.text)
REGEX = re.compile(‘<.?>|&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-f]{1,6});‘)
title = selector.xpath(’//
[@id=“productTitle”]’).get()
author = selector.xpath(‘//[@id=“sp-member-nick”]‘).get()
price = selector.xpath(’//
[@id=“sp-price-highPrice”]’).get()

ürün_başlık = REGEX.sub('', title).strip()
satıcı = REGEX.sub('', author).strip()
fiyat = REGEX.sub('', price).strip()

kitap = load_workbook('dosya.xlsx')
kitaps = kitap.active
kitap.title = "Gittigidiyor"
sayfa = kitap.get_sheet_by_name('Gittigidiyor')
sayfa["A2"]="Ürün Başlığı"
sayfa["P2"]="Satıcı"
sayfa["N2"]="Fiyatı"
sayfa["A4"]=ürün_başlık
sayfa["P4"]=satıcı
sayfa["N4"]=fiyat
kitaps.merge_cells('A4:M4')
kitaps.merge_cells('A2:M2')
kitaps.merge_cells('N2:O2')
kitaps.merge_cells('P2:Q2')
kitaps.merge_cells('N4:O4')
kitaps.merge_cells('P4:Q4')
kitap.save("dosya.xlsx")
kitap.close()
print("dosya.xlsx isimli excel belgesine bilgileri kaydettim!")

else:
print('Bağlantı kurulamadı! HTTP Kodu: ', response.status_code)

1 Beğeni

Merhaba. Kodlarınızı bu linke göre sorunuza eklerseniz daha rahat çözüm üretebiliriz.

Eğer aynı program içerisinde birden fazla linkin özelliklerini yazmak istiyorsanız bir döngü oluşturup yazılacak hücrenin satır sırasını değiştirebilirsiniz.

denedim onu fakat programı kapayıp açarsam yine exelde ki veriler siliniyor

O zaman excel dosyasını okuyup yazılmamış en son satırı bulun ve oradan devam edin.

peki bunu nasıl yapabilirim yardımcı olabilir misiniz

sayfa["A2"] yazdığınızda 2. satır ve A sütunundaki değeri elde etmiş olmuyor musunuz?

evet ama bu konuda yeniyim pek bilgim yok ve Türkçe kaynakda bulamadım

kodumu biraz daha geliştirdim ve

a2_sayac = 2
p2_sayac = 2
n2_sayac = 2
o2_sayac = 2
q2_sayac = 2
m2_sayac = 2
a4_sayac = 4
p4_sayac = 4
n4_sayac = 4
o4_sayac = 4
q4_sayac = 4
m4_sayac = 4

a2=sayfa[‘A’+str(a2_sayac)]
if a2.value != None:
a2_sayac = a2_sayac + 5
m2_sayac = m2_sayac + 5
p2_sayac = p2_sayac + 5
q2_sayac = q2_sayac + 5
n2_sayac = n2_sayac + 5
o2_sayac = o2_sayac + 5
a4_sayac = a4_sayac + 5
m4_sayac = m4_sayac + 5
p4_sayac = p4_sayac + 5
q4_sayac = q4_sayac + 5
n4_sayac = n4_sayac + 5
o4_sayac = o4_sayac + 5
pass

sadece üstteki değişkenleri ifden sonra nasıl değiştirebileceğimi anlayamadım var mı yardımcı olucak