Kodlarınızın geri kalan kısmı olmadığı için nasıl geliştirilebilir bilmiyorum.
Ayrıca 3. satırdaki ikinci kez yazılmış olan df1 “NameError: name ‘df1’ is not defined” hatası veriyor.
Diyelim aşağıdaki gibi bir tablonuz var:
ve bu tablonun A, C, E, G ve I sütunlarını alıp başka bir dosyaya kaydetmek istiyorsunuz, o zaman aşağıdaki kodları yazabilirsiniz:
def sutun_kopyala(kaynak, hedef, sutunlar):
import pandas as pd
oku = pd.read_excel(kaynak)
yazici = pd.ExcelWriter(hedef, engine="xlsxwriter")
pd.DataFrame(oku, columns=sutunlar).to_excel(yazici, sheet_name="Sayfa1", index=False)
yazici.save()
if __name__ == "__main__":
test_kaynak = "test.xlsx"
test_hedef = "yeni.xlsx"
test_sutunlar = ["A", "C", "E", "G", "I"]
sutun_kopyala(test_kaynak, test_hedef, test_sutunlar)
Diyelim A, C, E, G ve I sütunlarının sadece 2. ve 3. satırlarını kopyalamak istiyorsunuz, o zaman kodları aşağıdaki gibi değiştirmek gerekir:
def sutun_ve_satir_kopyala(kaynak, hedef, sutunlar, satirlar):
import pandas as pd
oku = pd.read_excel(kaynak)
yazici = pd.ExcelWriter(hedef, engine="xlsxwriter")
pd.DataFrame(oku, index=satirlar, columns=sutunlar).to_excel(yazici, sheet_name="Sayfa1", index=False)
yazici.save()
if __name__ == "__main__":
test_kaynak = "test.xlsx"
test_hedef = "yeni.xlsx"
test_sutunlar = ["A", "C", "E", "G", "I"]
test_satirlar = [1, 2]
sutun_ve_satir_kopyala(test_kaynak, test_hedef, test_sutunlar, test_satirlar)
Not: Örnekteki A, C, E, G, I örnek sütun isimleridir, daha farklı da isimlendirilebilirler.