Bir Excel Dosyasındaki Hücreyi Başka Bir Excel Dosyasına Kopyalamak

Merhabalar,

Python ile bir excel dosyasından başka bir excel dosyasına veri kopyalamak istiyorum. Araştırmama rağmen doğru ve sorunsuz çalışan bir cevap bulamadım. Herkes bu konu ile ilgili xlrd-xlwd-openpyxl kullanabilirsin demiş fakat doğru kullanımı göstermemiş. Bu konuda örnek biliyorsanız benimle paylaşabilir misiniz?

Merhaba, pandas modülüyle de excel dosyalarında bulunan verileri okuyup başka excel dosyalarına yazdırabilirsiniz.

Örnek Uygulama:

import pandas as pd

dosya = "/.../.../dosya.xlsx"
oku = pd.read_excel(dosya)
yazici = pd.ExcelWriter("test.xlsx", engine="xlsxwriter")
pd.DataFrame(oku).to_excel(yazici, sheet_name="Sayfa1", index=False)
yazici.save()

Edit:

xlwt ve xlrd modüllerini kullanarak benzer bir işlem şöyle yapılabilir:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-


def oku():
    import xlrd
    dosya = xlrd.open_workbook("/.../.../dosya.xlsx")
    sayfa = dosya.sheet_by_name("sayfa_ismi")
    return [
        [sayfa.cell_value(j, i) for j in range(sayfa.nrows)]
        for i in range(sayfa.ncols)
    ]


def yaz():
    import xlwt
    dosya = xlwt.Workbook()
    sayfa = dosya.add_sheet("Test")
    for i in oku():
        for j in i:
            sayfa.write(i.index(j), oku().index(i), j)
    dosya.save("deneme.xlsx")


if __name__ == "__main__":
    yaz()

Teşekkürler bakıyorum şimdi

Excel dosyaları oluşturmakla alakalı xlsxwriter isimli güzel bir modül daha var. Aşağıdaki örnek pypi sitesinden alıntıdır.
Python 3.6’yı desteklemediği belirtilmiş.

import xlsxwriter

# Yeni bir excel dosyası oluşturun ve bir çalışma sayfası ekleyin.
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()

# Yazıların rahatça görünmesini sağlamak için ilk sütunu genişletin.
worksheet.set_column('A:A', 20)

# Hücreleri vurgulayarak kullanmak için karakter kalınlaştırmayı çalışmanıza ekleyin.
bold = workbook.add_format({'bold': True})

# Hücreye basit bir iki yazı yazın.
worksheet.write('A1', 'Hello')

# Hücreye kalınlaştırılmış yazı yazın.
worksheet.write('A2', 'World', bold)

# İsterseniz satır/sütun işaret sistemiyle bazı sayılar yazın.
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)

# Bir resim ekleyin.
worksheet.insert_image('B5', 'logo.png')

# Çalışmayı kapatın.
workbook.close()

Çok teşekkürler çok sağolun.

xlsxwriter da özet tablo(pivot) oluşturmanın kısa bir yolu var mıdır, dökümanlarda rastlayamadım, yoksa pandas ile birlikte kullanıp groupby ve groupby sum yaparak mı işi halledebilicez. @dildeolupbiten bu konuda bir bilgin var mıdır?

Bilmiyorum daha önce hiç özet tablolar ile çalışmadım.

anlıyorum, geri bildirimin için çok teşekkür ederim.

Rica ederim, umarım nasıl yapıldığını bulursun.

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.pivot_table.html pandas ile yaparım artık, yarın için iyi bayramlar.

Size de iyi bayramlar. Kolay gelsin.

1 Beğeni