Merhabalar,
Bir excel dosya seçip içerisinden tüm sütunlarda arama yaptırıp oluşan değerleri yeni bir excele yazdırıyorum.
2 farklı problemle karşılaştım.
1- Tarih sütununda Yıl/Ay/Gün ve :Saat: olarak gözüküyor. Üzerine tıkladığımda Gün/Ay/Yıl ve :saat: oluyor. Kırmızı renkle altlarını çizdim aşağıdaki resimde. Kodlarımda C sütunu hücrelerini biçimlendirip kaydetmeme rağmen istediğim sonucu elde edemedim.
İstediğim sonuç: Gün Ay Yıl.
2- Her türlü aramayı buluyor. Str veya int farketmiyor. Program doğru bir şekilde çalışıyor, bir tek şey haricinde. Aramak istediğim değere tarih(örnek:13.01.2014) yazdığımda; sadece sütun isimlerinin yazdığı boş bir excel’le karşılaşıyorum. Aşağıdaki resimde olduğu gibi.
Kendime çevrimdışı bir yazılım geliştirmeye çalışıyorum. Bu yazılımı 20 bin, 30 bin satırlık bir excel dosyasından, aramak istediğim veriyi dışarı aktarmak amacıyla internetsiz bir ortamda kullanacağım. Bu kodlarla Tkinter altyapısını kullanarak bir yazılım geliştirilebilir mi? Yoksa daha farklı kütüphanelere mi ihtiyacım var.
Kodlarım şu şekilde:
import os
import pandas as pd
Klasör yolu ve dosya adını belirt
folder_path = “C:\Users\ilker\Desktop\excel\”
output_folder_path = “C:\Users\ilker\Desktop\excel\ayiklanan\”
excel = “xlsx”
file_name = input(“Dosya adı?”) + “.” + excel
Excel dosyasının tam yolu
input_excel_path = os.path.join(folder_path, file_name)
Excel dosyasını oku
df = pd.read_excel(input_excel_path)
Kullanıcının gireceği arama değerini alın
search_value = input("Arama yapmak istediğiniz değeri girin: ")
Tüm sütunlarda arama yapın ve sonuçları birleştirin
result_df = pd.DataFrame()
for column in df.columns:
current_df = df[df[column].astype(str).str.contains(search_value, case=False, na=False)]
result_df = pd.concat([result_df, current_df], ignore_index=True)
“C” sütunundaki hücreleri tarih formatına dönüştür
try:
result_df.iloc[:, 2] = pd.to_datetime(result_df.iloc[:, 2], format=‘%d.%m.%Y’, errors=‘coerce’)
except Exception as e:
print(f’Hata: {e}')
Yeni bir Excel dosyasına yaz
output_excel_path = os.path.join(output_folder_path, input(“Yeni Oluşturulacak Excel Adı?”) + “.” + excel)
result_df.to_excel(output_excel_path, index=False)
print(“İşlem tamamlandı. Yeni Excel dosyası oluşturuldu:”, output_excel_path)
print(result_df)