Python'da XLSX'ten CSV'ye

Python Da Xlsx Ten Csv Ye



Son yıllarda Python, baskın programlama dillerinden biri olarak yükseldi. Python topluluğu, Python'un popülaritesi ve kullanışlılığının bir sonucu olarak önemli ölçüde genişledi. Bu makalede, XLSX'i CSV'ye dönüştürmek için Python'un nasıl kullanılacağı hakkında ayrıntılara gireceğiz. Excel dosyalarının finansal analiz yapmak, verileri düzenlemek, veri girişi, muhasebe, veri yönetimi, tablo ve grafik oluşturmak vb. Yapılandırılmış verileri düz metin dosyası kullanarak aktarmak bir yaklaşımdır.

Xslx Dosyası Nedir?

Microsoft, Excel'in en son sürümlerinde elektronik tablolar oluştururken, varsayılan dosya türü olarak bir XLSX dosyası kullanır. Word'ün DOCX dosya türüne benzer şekilde, XLSX dosyalarını çeşitli uygulamalar/programlar kullanarak açabiliriz.

CSV Dosyası Nedir?

CSV dosya formatı, tablolardaki ve veritabanlarındaki tablo veri değerlerini depolamak için kullanabileceğimiz formattır. Tablo verileri, metin veya metin, bir CSV dosyasında düz metin olarak saklanır. CSV dosyasındaki bir kayıt, dosyanın her satırında saklanan veri değeridir. Her kayıt, virgülle ayrılmış birden fazla alana sahip olabilir.







XLSX ve CSV Dosyaları Arasındaki Temel Farklılıklar

Kullanıcılar genellikle CSV ve XLSX'i birbirinin yerine kullanır ve genellikle aralarındaki farklardan, temel özelliklerinin neler olduğundan ve nasıl çalıştıklarından habersizdirler. Yalnızca kullanıcı için bir bilgi kaynağı olarak hizmet eder. Neredeyse her işletme ve şirket, kullanıcıların verileri kullanıcı için yönetmesine, güncellemesine ve depolamasına yardımcı olmak için her ikisini de kullanır. Aşağıda, XLSX ve CSV dosyaları arasında bilmeniz gereken bazı temel farklar yer almaktadır:



  • CSV biçimi, tablo verilerini .csv uzantılı bir sınırlayıcı metin dosyasına kaydeder. Oysa excel veya XLSX dosyası, dosyaları kendi özel biçiminde, yani depolayan bir elektronik tablodur. xls veya XLSX.
  • Excel dosyaları, bir çalışma kitabındaki her çalışma sayfasındaki verileri içeren ikili dosyalardır. Oysa CSV, virgüllerle ayrılmış bir dizi veri değeri içeren düz ve basit bir metin biçimidir.
  • CSV dosyaları üzerinde veri işlemleri gerçekleştirilemez. Ancak Excel dosyaları üzerinde gerçekleştirilebilirler.
  • CSV dosyaları daha hızlıdır ve XLSX dosyalarından daha az bellek kullanır. Ancak Excel, verileri içe aktarırken daha fazla bellek kullanır.
  • CSV'yi Excel ile karşılaştırırsak, CSV dosyalarını herhangi bir Windows metin düzenleyicisinde açabilirken Excel dosyaları açamaz.

Bir XLSX Dosyası Python Kullanılarak Nasıl CSV'ye Dönüştürülebilir?

Bir XLSX dosyası, çeşitli yöntemler kullanılarak Python'da bir CSV dosyasına dönüştürülebilir. Python, bu görevi yerine getirmemize yardımcı olabilecek çeşitli modüller ve işlevler içerir. Burada, XLSX dosyalarını Python'da CSV dosyalarına dönüştürmek için kullanılabilecek birkaç yöntemi inceleyeceğiz.



Excel'den CSV'ye Dönüştürmeyi Gerçekleştirmenin Ön Koşulları

Gereksinimlerin yüklenmesi ilk adımdır. Bu eğitimde birleştirilmiş Pandalar, CSV ve Openpyxl gibi modülleri kullanıyoruz. Python'un Pandas paketi, verilerin işlenmesine ve analizine izin verir. Pandas, Python programcıları arasında iyi bilinen bir kütüphanedir. Excel dosyaları, Openpyxl olarak bilinen Python paketi kullanılarak okunabilir ve yazılabilir. Bu kitaplıkla doğrudan ilgilenmeyeceğiz. Pandalar bunun yerine Openpyxl'i dahili olarak kullanır.





PyPI deposunu kullanarak her iki paketi de kurabiliriz:

Yöntem 1: Pandas Modülünü Kullanarak XLSX'i CSV'ye Dönüştürme

Örnek 1: Bir XLSX Dosyasını CSV'ye Dönüştürme



Pandas, Python programlama dilinin verileri manipüle etmesi ve analiz etmesi için oluşturulmuş açık kaynaklı bir modüldür. Pandas, zaman serileri ve sayısal tablolarla çalışmak için çeşitli işlevler ve özellikler sağlar. Pandalar kullanılarak hem küçük hem de büyük veri kümeleri okunabilir, filtrelenebilir ve yeniden düzenlenebilir. Ve sonuçlar Excel, JSON ve CSV gibi çeşitli biçimlerde üretilebilir. Bir excel dosyasını okumak için Pandas'ın read_excel() yöntemini ve DataFrame'i bir CSV dosyasına dönüştürmek için to_csv() yöntemini kullanıyoruz.

.csv dosyamızı çıktıda görüldüğü gibi DataFrame olarak yazdırıyoruz. Önceki komut dosyası, XLSX dosyamızı CSV'ye dönüştürür ve geçerli dizinde bir “salary.csv” dosyası oluşturur.

Örnek 2: XLSX Dosyasını (Birden Çok Sayfalı) CSV'ye Dönüştürme

Aşağıdaki örnekte öncelikle Excel dosyasının sayfa adlarını okuyoruz. Tek tek sayfaların adları daha sonra döngüye alınır ve ayrı CSV dosyaları olarak kaydedilir. Komut dosyası, CSV'leri aynı konuma kaydeder.

İki veya daha fazla çalışma sayfası veya elektronik tablo içeren örnek bir XLSX dosyası kullanıyoruz.

Görüldüğü gibi XLSX dosyamız iki sayfadan oluşmaktadır (sayfa1 ve sayfa2). Şimdi bu XLSX dosyasını CSV'ye dönüştürmek için bir kod yazıyoruz.

Çıktı:

Komut dosyası, iki sayfalı XLSX dosyasını tek sayfalı tek bir CSV dosyasına başarıyla dönüştürdü.

Örnek 3: Birden Çok XLSX Dosyasını Ayrı CSV Dosyalarına Dönüştürme

Çalışma dizininizdeki birkaç Excel dosyasını CSV'ye dönüştürmeniz gereken bir senaryo düşünün. Bu yöntemi uygulayabilirsiniz. Her dosyanın yalnızca bir sayfa içerdiğini varsayarak başlıyoruz. Ardından, yöntemimizi birden çok dosyayı ve birkaç sayfayı işleyecek şekilde genişletiyoruz. Aşağıdaki Python kodu, glob standart modülünü kullanır. Glob ile kalıpları kullanarak dosya yollarını eşleştiriyoruz. Çalışma dizinindeki .xlsx uzantılı tüm dosyalarla eşleşir. Daha sonra Excel dosyalarını okuyan ve CSV dosyaları olarak kaydeden bir fonksiyon geliştiriyoruz. Bulunan her dosya yolunda bu işlevi çağırırız.

Bu önceki betik, geçerli dizindeki tüm xlsx dosyalarını CSV dosyalarına dönüştürür.

Şimdi, birden fazla e-tablo içeren XLSX dosyalarını CSV'ye dönüştürüyoruz. Bu büyük olasılıkla zor kısımdır. Çalışma dizinimizde üç Excel dosyası bulunmaktadır. Ayrıca bazıları birden fazla yapraktan oluşmaktadır. şunları hedefliyoruz:

  1. Her elektronik tablo dosyası için bir dizin oluşturun,
  2. Excel dosya sayfalarını CSV'ye dönüştürün ve bunlar yeni oluşturulan dizinde tutulmalıdır.

Komut dosyası, tekli ve çoklu sayfalı XLSX'i ayrı CSV dosyalarına dönüştürür ve bunları aynı ada sahip yeni dizinlerde depolar.

Geçerli dizinde bulunan her Excel dosyasını almak için glob işlevi kullanılır. Bundan sonra, os.mkdir işlevi kullanılarak her XLSX dosyası için klasörler oluşturulur. Daha sonra yeni dizindeki her sayfa için sayfa adının üzerinden geçerek bir CSV dosyası oluşturulur.

Yöntem 2: Openpyxl ve CSV Modüllerini Kullanarak XLSX'i CSV'ye Dönüştürme

Bu yöntemde, XLSX dosyalarını CSV'ye dönüştürmek için openpyxl ve CSV modüllerini kullanacağız. 2010 xlsx, xlsm, xltx ve xltm dosyalarını okumak ve yazmak için Python modülü openpyxl kullanılabilir. CSV modülü, CSV biçimli tablo verilerinin okunmasını ve yazılmasını sağlayan sınıflar içerir.

Xlsx dosyamızı okumak veya yüklemek için openpyxl modülünün load_workbook() fonksiyonunu kullanıyoruz. Python'da mevcut bir XLSX/Excel dosyasını yazmanız veya okumanız gerekirse bu işlevi kullanabilirsiniz. Excel aktivasyonundan sonra CSV dosyamızı oluşturmak için csv.writer() fonksiyonunu kullanıyoruz. Daha sonra for-loop, verileri CSV dosyasının veri hücrelerinde depolamak için kullanılır. Example.xlsx dosyamızı aşağıdaki görseldeki gibi myfile.csv'ye çeviriyoruz:

Çözüm

Bu eğitimde, size XLSX dosyaları ve CSV dosyalarına kısa bir giriş yaptık. Her iki dosya formatı arasındaki temel farkları açıkladık. Tek veya çok sayfalı XLSX dosyalarının CSV dosyalarına nasıl dönüştürülebileceğini öğretmek için birden çok örnekle iki yöntemi tartıştık. Birden çok XLSX dosyasını aynı anda CSV dosyalarına dönüştürmek için bir örnek uyguladık. Verileri Excel'den CSV'ye dönüştürmek basit veya zor olabilir. Az sayıda sayfa içeren yalnızca bir dosyanız varsa, bu basittir. Ama değilse, zor olabilir.