Pandas ile Sütun Aralıklarıyla Dataframe'e Kayıt

Belki daha farklı bir yoldan da yapılabiliyordur, aşağıdaki yöntemle de tek bir dosyanın tablosundaki bütün sütunlar, başka bir tabloya, dolu sütunlar arasında bir boş sütun olacak şekilde kaydedilebilir. Ayrıca bir dizinde bulunan bütün benzer dosyalar için bu işlem tekrarlanabilir.

import pandas as pd
import xlsxwriter
import numpy as np


def dosyadan(kaynak, hedef):
    oku = pd.read_excel(kaynak, header=None)
    workbook = xlsxwriter.Workbook(hedef)
    worksheet = workbook.add_worksheet()
    satir = 0
    for i in range(len(oku.values)):
        sutun = 0
        for j in oku.values[0]:
            sec = pd.read_excel(kaynak, parse_cols="{0}:{0}".format(j), header=None)
            df = pd.DataFrame(sec, index=[satir])
            numpy_data = df.get_values()
            string_data = np.array2string(numpy_data).replace("[", "").replace("]", "").replace("'", "")
            worksheet.write(satir, sutun, string_data)
            sutun += 2
        satir += 1
    workbook.close()


def dizinden(kaynak_dizin, hedef_dizin):
    import os
    if not os.path.exists(hedef_dizin):
        os.mkdir(hedef_dizin)
    for i in os.listdir(kaynak_dizin):
        if i.endswith("xlsx") or i.endswith("xls"):
            kaynak_ = os.sep.join([kaynak_dizin, i])
            hedef_ = os.sep.join([hedef_dizin, i])
            dosyadan(kaynak_, hedef_)


if __name__ == "__main__":    
    dizinden("/.../../.", "/.../../.")
1 Beğeni