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("/.../../.", "/.../../.")