Herkese Merhaba;
Öncelikle program dilleri ile ilgili bilgim yok, bilgisi olan arkadaşlardan yardım istemek için kayıt oldum Sorum şu;
En altta kodlarını paylaştığım python kod dizisi ile, form halindeki excel dosyalarını okuyarak belirli hücrelerdeki verileri liste şeklinde excel dosyasına kaydediyorum. Ama listelerden sağ ve sollarında fazla karakter ile birlikte kayıt ediyor. Veriyi çektiği excel dosyalarında ilgili hücrelerde “Boşluk, birleşik hücre, tarih formatı” da var. Ayrıca her dosyada her hücrede veri olmayabiliyor.(Boşta kalabiliyor) Veri çekmede sorun yaşamıyorum ancak fazlalıklardan bir türlü kurtulamadım. Yardımcı olabilecek var mı?
Verileri okuduğu örnek excel dosyalarından örnek:( Yaklaşık 500-700 dosya var ve artıyor)
Dosyaların Örnekleri;
https://drive.google.com/drive/folders/1LwnJuiscGEDF7oNk4FBCV6tPHEkd_-G4?usp=sharing
Gitmesini İstediğim Fazlalıkların(TemizVeri Haline Getirmek İstediğim) Ekran Görüntüsü;
import os
import pandas as pd
# Sonuçları saklayacak DataFrame oluştur
result_df = pd.DataFrame(columns=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ'])
# Çalışma dizini (current directory) içindeki Excel dosyalarını al
excel_files = [f for f in os.listdir() if f.endswith('.xlsm')]
# Her Excel dosyasını işle
for excel_file in excel_files:
try:
# Excel dosyasını oku
df = pd.read_excel(excel_file, header=None, engine='openpyxl')
# Belirtilen hücreleri al ve sonuç DataFrame'e ekle
result_df = result_df._append({
'A': df.iloc[18, 3:13].dropna().tolist(),
'B': df.iloc[19, 3:13].dropna().tolist(),
'C': df.iloc[20, 3],
'D': df.iloc[20, 4:6].dropna().tolist(),
'E': df.iloc[21, 3:6].dropna().tolist(),
'F': df.iloc[22, 3:5].dropna().tolist(),
'G': df.iloc[23, 3:6].dropna().tolist(),
'H': df.iloc[23, 7:13].dropna().tolist(),
'I': df.iloc[24, 3:13].dropna().tolist(),
'J': df.iloc[25, 3:13].dropna().tolist(),
'K': df.iloc[26, 3:13].dropna().tolist(),
'L': df.iloc[27, 3:13].dropna().tolist(),
'M': df.iloc[28, 1:13].dropna().tolist(),
'N': df.iloc[36, 2:6].dropna().tolist(),
'O': df.iloc[37, 2:6].dropna().tolist(),
'P': df.iloc[36, 9:13].dropna().tolist(),
'Q': df.iloc[52, 5:13].dropna().tolist(),
'R': df.iloc[55, 5:13].dropna().tolist(),
'S': df.iloc[60, 5:13].dropna().tolist(),
'T': df.iloc[61, 5:13].dropna().tolist(),
'U': df.iloc[62, 5:13].dropna().tolist(),
'V': df.iloc[63, 5:13].dropna().tolist(),
'W': df.iloc[72, 6:13].dropna().tolist(),
'X': df.iloc[74, 6:13].dropna().tolist(),
'Y': df.iloc[76, 6:13].dropna().tolist(),
'Z': df.iloc[79, 1],
'AA': df.iloc[80, 1],
'AB': df.iloc[83, 1],
'AC': df.iloc[84, 1],
'AD': df.iloc[104, 4:13].dropna().tolist(),
'AE': df.iloc[105, 4:13].dropna().tolist(),
'AF': df.iloc[106, 4:13].dropna().tolist(),
'AG': df.iloc[108, 4:13].dropna().tolist(),
'AH': df.iloc[109, 4:13].dropna().tolist(),
'AI': df.iloc[115, 1:4].dropna().tolist(),
'AJ': df.iloc[121, 11:13].dropna().tolist(),
}, ignore_index=True)
except Exception as e:
print(f"Hata: {e}")
# Sonuçları "Sonuc.xlsm" adlı bir Excel dosyasına kaydet
result_df.to_excel("Sonuc.xlsx", index=False, engine='openpyxl')
kodu buraya yazın veya yapıştırın