Pandas, veri manipülasyonu ve analizi için güçlü bir Python kütüphanesidir ve metin dosyalarından veri yükleme temel bir görevdir. Bu makale, çeşitli metin formatlarından Pandas DataFrame’lerine veri içe aktarmak için etkili yöntemleri ele almaktadır.
İçerik Tablosu
read_csv()
ile CSV ve Sınırlandırılmış Dosyaların Yüklenmesiread_fwf()
ile Sabit Genişlikli Dosyaların İşlenmesi- Sekmeyle Ayrılmış ve Diğer Sınırlandırılmış Dosyalar için
read_table()
Kullanımı
1. read_csv()
ile CSV ve Sınırlandırılmış Dosyaların Yüklenmesi
read_csv()
fonksiyonu, virgülle ayrılmış değer (CSV) dosyalarını içe aktarmak için en önemli fonksiyondur. Çok yönlülüğü, sep
veya delimiter
parametresi kullanılarak sınırlayıcı belirtilerek diğer sınırlandırılmış dosyalara da uzanır. Yeteneklerini inceleyelim:
import pandas as pd
# Bir CSV dosyası yükleyin
df_csv = pd.read_csv("data.csv")
print(df_csv.head()) #Daha iyi okunabilirlik için sadece ilk birkaç satırı göstermek için head() kullanılıyor
# Sekmeyle ayrılmış bir dosya yükleyin
df_tsv = pd.read_csv("data.tsv", sep="t")
print(df_tsv.head())
# Sınırlayıcı olarak pipe kullanan bir dosya yükleyin
df_pipe = pd.read_csv("data.txt", delimiter="|")
print(df_pipe.head())
Temel yüklemenin ötesinde, read_csv()
ince ayarlı kontrol için güçlü parametreler sunar:
sep
veyadelimiter
: Sınırlayıcıyı belirtir (varsayılan ‘,’).header
: Sütun adları için satır numarası (varsayılan 0, başlık yoksaNone
kullanın).names
: Başlık satırı yoksa sütun adları listesi.index_col
: DataFrame indeks olarak kullanılacak sütun.usecols
: Performansı iyileştirmek için belirli sütunları seçin.nrows
: Büyük dosyaları önizlemek için sadece ilkn
satırı okuyun.skiprows
: Başlangıçta belirtilen satırları atlayın.encoding
: Dosya kodlamasını belirtin (örneğin, ‘utf-8’, ‘latin-1’).dtype
: Sütunlar için veri türlerini belirtincomment
: Yorum satırlarını belirtmek için karakter
2. read_fwf()
ile Sabit Genişlikli Dosyaların İşlenmesi
read_fwf()
(sabit genişlikli biçimlendirilmiş dosyaları oku) yöntemi, sütunların sınırlayıcılarla değil, sabit genişlikleriyle tanımlandığı dosyalar için çok önemlidir. Bu, eski sistemlerde yaygındır.
import pandas as pd
# Sütun genişliklerini tanımlayın
colspecs = [(0, 10), (10, 20), (20, 30)] # Sütunlar 10, 10 ve 10 karakter genişliğindedir
# Sabit genişlikli dosyayı yükleyin
df_fwf = pd.read_fwf("data_fwf.txt", colspecs=colspecs, header=None)
df_fwf.columns = ['Column1', 'Column2', 'Column3']
print(df_fwf.head())
read_fwf()
için önemli parametreler şunlardır:
colspecs
: Sütun başlangıç ve bitiş konumlarını tanımlayan tuple’lardan oluşan liste.widths
:colspecs
‘e alternatif olarak, sütun genişliklerinin bir listesini sağlar.header
: Başlık için satır numarası (read_csv()
ile aynı).names
: Sütun adlarını sağlar (read_csv()
ile aynı).
3. Sekmeyle Ayrılmış ve Diğer Sınırlandırılmış Dosyalar için read_table()
Kullanımı
read_table()
büyük ölçüde read_csv()
‘ye eşdeğerdir ve varsayılan olarak sekme (t
) sınırlayıcısını kullanır. Sekmeyle ayrılmış dosyalar (TSV) için idealdir, ancak sep
parametresi belirtilerek diğer sınırlayıcıları da işleyebilir. read_csv()
‘nin tüm parametrelerini paylaşarak benzer esneklik sağlar.
import pandas as pd
# Sekmeyle ayrılmış bir dosya yükleyin
df_table = pd.read_table("data.tsv")
print(df_table.head())
# Farklı bir sınırlayıcı belirtin
df_table_custom = pd.read_table("data.txt", sep="|")
print(df_table_custom.head())
Pandas, çeşitli metin dosya formatlarından verileri verimli bir şekilde içe aktarmak için sağlam araçlar sunar. Doğru yöntemi seçmek, verilerinizin yapısına bağlıdır. Kodlama sorunlarını gidermeyi ve yüklemeden sonra eksik değerleri işlemeyi unutmayın.