Ordelio

Web sitesindeki tabloyu CSV dosyası olarak kaydetme

CSV dosyası, her hesap tablosunun ve veritabanının okuyabildiği düz metindir. Bir web tablosunu bu formata aktarmak kolaydır; ancak bozuk karakterler, yanlış ayırıcılar veya kaybolan sıfırlar olmadan aktarmak işin zor kısmıdır. İşte dört yöntem ve her birinin aksadığı noktalar.

1. Kopyalayıp Excel'e yapıştırın, ardından Farklı Kaydet'i kullanın

Tabloyu seçin, kopyalayın, boş bir Excel sayfasına yapıştırın, ardından Dosya menüsündeki Farklı Kaydet komutunu kullanıp dosya türü olarak CSV UTF-8 seçeneğini belirleyin.

Şunun için iyi: Zaten Excel'iniz açıkken tek seferlik kullanmanız gereken küçük bir tablo.

Nerede aksar: Düz CSV türünü seçerseniz Windows kod sayfanızın dışındaki her karakter (aksanlı harfler, Kiril alfabesi, Çince) soru işaretine dönüşür. Ayrıca Excel, Windows bölge ayarlarınızda belirlenen ayırıcıyı kullanır; bu nedenle birçok Avrupa sisteminde "virgülle ayrılmış" dosyanız aslında noktalı virgülle ayrılır ve dosyayı okuyan program virgül bekliyor olabilir. Yapıştırma işlemi ayrıca baştaki sıfırları silebilir (01234 gibi bir kod 1234 olur), 1-2 gibi değerleri tarihe dönüştürebilir ve seçim tablonun etrafındaki metinleri de alabilir.

2. Google E-Tablolar: Yapıştırıp indirin

Tabloyu bir Google E-Tablolar dosyasına yapıştırın, ardından Dosya menüsünü açıp İndir seçeneğine gidin ve virgülle ayrılmış değerler (.csv) formatını seçin.

Şunun için iyi: Tarayıcısı olan herhangi bir bilgisayar, Excel gerektirmez ve dosya her zaman UTF-8'dir.

Nerede aksar: Dosya her zaman virgül kullanır; bu nedenle ondalık ayracı virgül olan bir bölgedeki Excel, dosyaya çift tıkladığınızda verileri sütunlara ayırmayabilir. Dosyanın tamamı değil, yalnızca baktığınız sayfa indirilir. Excel gibi E-Tablolar da yapıştırırken bazı değerleri tarih veya sayıya dönüştürebilir.

3. Python: pandas.read_html

Zaten Python ile çalışıyorsanız, pandas kütüphanesi bir sayfadaki her tabloyu okuyup bir CSV dosyası yazabilir:

pandas.read_html("https://example.com/page")[0].to_csv("table.csv", index=False)

Köşeli parantez içindeki sayı, tablonun sayfadaki konumudur (birincisi için 0). Sisteminizde pandas ve lxml kurulu olmalıdır.

Şunun için iyi: Her hafta aynı sayfa veya bir betik içinde yüzlerce sayfa için.

Nerede aksar: Bazı siteler bir tarayıcı gibi görünmediği için isteği 403 hatasıyla reddeder; bu yüzden sayfayı kendiniz indirip HTML'ini pandas'a vermeniz gerekir. Giriş gerektiren sayfaları veya JavaScript tarafından sayfa yüklendikten sonra oluşturulan tabloları göremez. [1] gibi dipnot işaretleri başlıklar ile değerlerde kalır ve bir sütunda eksik hücre olduğunda tam sayılar 8021407192.0 olarak çıkabilir.

4. Bir tarayıcı uzantısı: Okuduğunuz sayfada tek tıkla

Bir uzantı, sayfada tam olarak tarayıcınızda gördüğünüz şekilde çalışır; bu nedenle oturum açtıktan sonra ve JavaScript ile oluşturulmuş tablolarda da çalışır. Biz de bir tane üretiyoruz, Ordelio Tablo Kopyala (ücretsiz, satır sınırı yok):

  1. Sayfayı açın ve uzantı simgesine tıklayın (veya Alt+Shift+Y tuşlarına basın). Sayfadaki her tabloyu en büyüğünden başlayarak listeler; üzerine geldiğinizde tablo vurgulanır.
  2. CSV düğmesine basın: Tarayıcı o tabloyu içeren bir dosyayı kaydeder. Dosya, Excel'e bunu bildiren bir işaretçiye sahip UTF-8 formatında olduğu için karakterler bozulmaz ve diliniz ondalık sayılarda virgül kullanıyorsa ayırıcı noktalı virgül olur (seçeneklerden virgül, noktalı virgül veya sekme zorlayabilirsiniz).

Ayrıca [1] gibi dipnot işaretlerini kaldırır, sütunların hizada kalması için birleştirilmiş hücreleri yineler ve 01234 gibi kodları sayfadaki haliyle dosyaya yazar (dosyayı açan bir hesap tablosu bunları yine de sayıya dönüştürebilir).

Nerede aksar: O an sayfada ne varsa onu kaydeder; bu nedenle birden fazla sayfaya bölünmüş bir tablo için sayfa başına bir dosya gerekir ve bir betik gibi dosyayı kendi kendine güncelleyemez.

Ordelio Tablo Kopyala uzantısını Microsoft Edge için edinin Chrome ve Firefox sürümleri: inceleniyor.

Hangisini kullanmalı

Excel Farklı KaydetGoogle E-TablolarpandasUzantı
Giriş arkasındaki sayfalarEvet (kopyalayarak)Evet (kopyalayarak)HayırEvet
Karakterler düzgün çıkarYalnızca CSV UTF-8 ileEvetEvetEvet
Seçebileceğiniz ayırıcıHayır (Windows tarafından ayarlanır)Hayır (her zaman virgül)Evet (bir parametre)Evet (bir seçenek)
Tek seferde yüzlerce sayfaHayırHayırEvetHayır
Yeni bir sayfa için süreYaklaşık bir dakikaYaklaşık bir dakikaİlk seferde dakikalarBirkaç saniye

Özetle: Her hafta herkese açık sayfalarda çalışan bir betik için pandas kullanın. Okuduğunuz bir sayfadan, özellikle de giriş gerektiren bir yerden tek seferlik veri almak için doğrudan sayfadan kaydedin.

Bu yöntemlerin hiçbiriyle başa çıkamadığı bir tabloya mı rastladınız? Bize bildirin, her mesajı okuyoruz.