Microsoft, Excel'e Python getirmeye hazırlanıyor
(theverge.com)- Microsoft, Excel içinde Python tabanlı veri analizi ve görselleştirme yapılabilen entegre bir özelliği herkese açık önizleme olarak sunmaya başladı
- Ek kurulum gerekmeden Excel şeridinden Python'a erişilebiliyor ve sonuçlar mevcut formüller, grafikler ve PivotTable ile birlikte düzenlenebiliyor
- Yeni PY işlevi, Python verilerini elektronik tablo ızgarasında görünür hale getiriyor; Anaconda iş birliği sayesinde pandas, statsmodels, Matplotlib gibi araçlar Excel içinde kullanılabiliyor
- Hesaplamalar yerelde değil, Microsoft Cloud üzerinde çalıştırıldıktan sonra çalışma sayfasına geri dönüyor; Matplotlib ve Seaborn tabanlı görselleştirmeler de oluşturulabiliyor
- Herkese açık önizleme, Microsoft 365 Insiders'ın Beta Channel kanalında önce Windows'ta başlıyor; önizleme bittikten sonra ücretli lisans olmadan bazı özellikler kısıtlanacak
Excel'in içine gelen Python analizi
- Microsoft, Excel'e Python entegrasyonu ekleyerek verilerin elektronik tablo içinde işlenip analiz edilmesini sağlıyor
- Kullanıcılar Excel şeridinden doğrudan Python'a erişebildiği için, alışık oldukları Excel ortamından çıkmadan ileri düzey analiz çalışmalarını sürdürebiliyor
- Python ile oluşturulan grafikler ve kütüphane çıktıları, Excel'in formülleri, grafikleri ve PivotTable yapılarıyla birleştirilerek daha da geliştirilebiliyor
Ek kurulum gerektirmeyen yerleşik yapı
- Python entegrasyonu, Excel'in yerleşik bağlayıcısı ve Power Query'nin bir parçası olarak sunuluyor
- Ek yazılım kurulumu veya ayrı bir eklenti yapılandırması gerekmiyor
- Yeni PY işlevi, Python verilerini Excel elektronik tablo ızgarası içinde görünür kılıyor
Anaconda kütüphaneleri ve görselleştirme
- Microsoft, kurumsal Python deposu Anaconda ile iş birliği yaparak Excel içinde başlıca Python kütüphanelerinin kullanılmasını sağlıyor
- Kullanılabilen kütüphaneler arasında şunlar yer alıyor
- pandas
- statsmodels
- Matplotlib
- Excel kullanıcıları, Python verilerine dayalı olarak formüller, PivotTable'lar ve grafikler oluşturabiliyor
- Matplotlib ve Seaborn gibi grafik kütüphaneleriyle şu görselleştirmeler üretilebiliyor
- heatmap
- violin plot
- swarm plot
Hesaplamalar Microsoft Cloud üzerinde işleniyor
- Python kodu Excel elektronik tablosu içinde yazılıp kullanılsa da, hesaplama işlemleri yerel Excel'de değil Microsoft Cloud üzerinde gerçekleştiriliyor
- Çalıştırma sonuçları daha sonra tekrar Excel çalışma sayfasına döndürülüyor
Kapsam ve lisans koşulları
- Excel'de Python herkese açık önizlemesi, Microsoft 365 Insiders için Beta Channel'da sunuluyor
- İlk aşamada kullanım Windows ile sınırlı
- Microsoft, daha sonra bunu diğer platformlara da genişletmeyi planlıyor
- Önizleme süresince özellik Microsoft 365 aboneliğine dahil
- Önizleme sona erdikten sonra ücretli lisans olmadan bazı özellikler kısıtlanacak
1 yorum
Hacker News yorumları
Eskiden Excel geliştiricisi olarak çalışırken Python’ı Excel’e eklemeye çalışıp başaramamış biri olarak, bugünkü haber benim için hoş bir sürpriz
Yaklaşık 7 yıl önce Excel ekibinden ayrılma fırsatım vardı; o sırada yöneticimin yöneticisi, Python’ı Excel’e koymak istediğimi biliyordu ve kalırsam bu işi bana vereceğini söyledi. 6 aylık bir iş olacağını düşündüğüm şey yaklaşık 3 yıllık bir projeye dönüştü; Python tarafı belirsizleşti ve sonunda JavaScript özel fonksiyonlarını Excel’e ekleme yönünde piyasaya çıktı
Python da AzureML v1 tabanlı olarak “bulutta” çalışıyordu, ancak yerelde çalıştırılıp çalıştırılmayacağı üzerine tartışmalar oldu. AzureML iş ortağı ekibinde yeniden yapılanma, yeniden lansman, yeniden işe alımlar ve PM ayrılıkları yaşandı; başka bir iş ortağı ekibi kodumuzu JavaScript’i dış bir süreçte çalıştırmak için kullanabileceklerini fark edince, Python’dan çok o özelliği yayımlamaya zaman harcar olduk
Temel iş, Excel hesaplama motorunu değiştirip fonksiyonların eşzamansız hesaplama yapmasını sağlamaktı; böylece uzak uç nokta JavaScript, Python ya da başka herhangi bir şeyle hesaplama yaparken kullanıcı elektronik tablonun başka bölümlerinde çalışmaya devam edebiliyordu. Eskiden hesaplama sırasında elektronik tablo kilitlenirdi; uzun süren ve ne zaman biteceği belli olmayan hesaplamalar için bu iyi değildi. Yaptığımız şeylerin bir kısmının bu özelliğe girip girmediğini merak ediyorum
“Recalc or die”
Office.js’in sorunu, ortalama bir Excel kullanıcısı için npm bağımlılık yığını nedeniyle başlamanın çok zor olması; profesyonel geliştiriciler bile epey zorlanıyor. Kullanıcıların Node.js kullanmak zorunda kalmamasını sağlamış olmaktan memnunum: https://docs.xlwings.org/en/latest/pro/server/officejs_custo...
Şimdi terk edilmiş bir proje: https://alphawolfxl.com/
Beta testi için rica ettiğim birkaç kişi “şirket bunun parasını ödemez” deyince zamanımı boşa harcadığım izlenimine kapılıp bırakmıştım; şimdi bunu görünce karmaşık hissediyorum
Genel olarak JavaScript’in Excel’de nasıl çalıştığını inceleyebileceğiniz gerçek çalışan kod eksik; şu anda neredeyse “baykuş nasıl çizilir” seviyesinde hissettiriyor
Yalnızca Microsoft Cloud kullanmak yerine yerel Python çalıştırmayı da desteklese iyi olurdu; yine de tek başına bu özellik bile Excel’i ciddi biçimde modernleştirebilir gibi görünüyor
Bu tür verileri göstermek isteyen web sitelerine olan ihtiyacı bile ortadan kaldırabilir. Eski işimde sadece içeriden birkaç kişinin kullandığı bir analiz web sitesi yapmıştım; o zaman böyle bir özellik olsaydı bununla rahatlıkla ikame edilebilirdi gibi geliyor
Sürekli şunu anlatıyorum: SQL Server ile bir data mart kurup ETL araçlarıyla analiz için gereken verileri içine doldurmak yeterli. Ham verilere erişim vermek zorunda değilsiniz. Buna rağmen herkes bana tuhaf tuhaf bakıyor ve bunun yerine milyonlarca dolarlık bir Tableau devreye alma projesi yapmak istiyor. Kullanıcılar bunu istemiyor; gerçekten akıl alır gibi değil
Ya da Excel web/masaüstü geri bildirim arayüzünden de gönderebilirsiniz. PM’ler bu geri bildirimlerin tamamını okuyor
Tüm kullanıcılara tutarlı bir deneyim garanti edebiliyoruz. Zamanla sürümlerin ayrıştığı bir ortamda herkesin kendi yerel Python dağıtımını sürdürmesi ve bunun Excel ile çalışacağını garanti etmesi gerektiğini düşünmek korkunç
Bir Excel çalışma kitabını başka kullanıcılarla paylaştığınızda hesaplamanın kendiliğinden çalışmasını sağlayabiliyoruz. Birbirinden farklı yerel Python kurulumlarına bağımlı olursa bu olmaz ve kullanıcılar büyük hayal kırıklığı yaşar
Güvenlik de büyük bir konu. Yerel kullanıcı yetkileriyle Python kodu çalıştırabilen bir Excel dosyasını açtığınızı hayal etmeniz yeterli
İkinci noktaya da tamamen katılıyorum. Mevcut BT altyapısıyla entegre olan iç uygulamaları Python ile yapmak, en iyi ihtimalle bile can sıkıcı bir iş. Excel neredeyse her yerde zaten BT altyapısının bir parçası ve programlanabilir, tepkisel bir tuval
Açıklama: Bu özelliğin tasarım ekibinde çalışıyorum
Burada makrolar istemci makinelerinde kötü amaçlı kod çalıştırmanın bir yolu olarak görülüyor ve bu riskin, sağlayacağı faydaya değmediği düşünülüyor
Burada açıkça tehlike sinyalleri görünüyor. Excel’in özündeki güç, çalışma kitaplarının bağımsız olarak var olabilmesinden geliyor; şimdi ise süreç sonsuza dek buluta bağlanmış oluyor.
Üç yıl sonra vefat etmiş bir iş arkadaşının çalışma kitabını açmanız gerektiğinde, bu entegrasyon özelliğini tedarikçinin desteklemeye devam edip etmemesine bağlı olacaksınız.
Herhangi bir işin ilk adımı “yazılımı yeniden çalışır hale getirmenin yolunu bulmak” olduğunda bu berbat bir durum. Son birkaç on yılda Excel, Outlook, Word’ün çeşitli eklentileri yüzünden bunu defalarca yaşadım; üstelik o eklentiler işlemenin kendisini uzaktan da yapmıyordu.
Bu yüzden yedekleri ara sıra gerçekten geri yükleyip denemek ya da bu tür durumlarda önemli dosyaları doğrulamak önemli.
“Excel’de Python” haberine heyecanlanmıştım, sonra “bulutta çalışır” ifadesini görünce hevesim kaçtı. Bunun, insanları bulut hizmetine bağlamak dışında bir nedeni yok gibi görünüyor. Beni güvenli olmayan yazıcı mürekkebinden koruyacaklarını söylemelerine fazla benziyor.
Normalde MS Office ürünlerini severim ve iyi niyetli yaklaşmaya çalışırım. Kilitleme dışında Python’un bulutta çalışmasını gerektirecek makul ve iyi bir neden varsa duymak isterim.
M$’ten uzaklaşılması gereken zamanın üzerinden bence yaklaşık 5 yıl geçti. Windows’tan Office’e kadar tüm ürünlerinde zaten tüketici karşıtı özellikler var.
Elbette Excel+Python ileri düzey kullanıcılarının kendi Python runtime ortamlarını getirmeye ve sürdürmeye alışkın olma ihtimalinin yüksek olduğunu da anlıyorum.
Excel’i iOS ve Android cihazlarda kullananlar da var. Bu yöntemle onlar da elektronik tablonun içindeki Python’u kullanıp okuyabilir.
2005’te arkadaşlarımla Resolver Systems adlı bir şirket kurup Python destekli elektronik tablo Resolver One’ı yaptık.
Ne yazık ki pazarda tutmadı; yönümüzü değiştirip çevrimiçi kodlama ve hosting ortamı PythonAnywhere’i yaptık. O ise oldukça iyi gitti ve geçen yıl Anaconda tarafından satın alındı. Şimdi de çember kapanmış sayılır.
Açıklığa kavuşturayım: Anaconda içinde bu özelliği geliştiren ekip, PythonAnywhere ekibinden tamamen ayrı. Aynı kişiler olsaydı Hollywood tarzı bir hikâye için harika olurdu.
Ama sorun, Resolver’ın IronPython tabanlı olması nedeniyle düzgün çalışmayan epey kütüphane bulunmasıydı.
PythonAnywhere web uygulamasında küçük düzeltmeleri doğrudan yapabilmek gerçekten güzeldi; GCP/AWS kullanmaya başladığımda o özelliği çok özledim.
“Python hesaplamaları Microsoft Cloud’da çalışır” ifadesini görünce bir iş arkadaşım şaka yollu “Microsoft bile Windows’ta yerel Python kurulumunu yönetemiyor galiba…” dedi.
Ama Microsoft’un gerçekten de yerel Python ortamı yapılandırması sorununu nihayet çözdüğünü ve Excel’in işletim sistemi genelinde standart Python paket yöneticisine dönüştüğünü hayal etmek eğlenceli.
$ excelpip install fastapi==9.11.23fastapi version 11.09.2023 aranıyor…Sorun alanının derinine inip açık kaynak tarafında çıkanların ötesine geçen bir paket yöneticisini yeniden icat edeceklerini sanmıştım.
Bunun yerine bugün Windows Update, Windows Features, Microsoft Store, Software Center ve winget var. winget, Microsoft’un Windows için yaptığı paket yöneticisi; üstelik Microsoft’un yaptığı bir başka Windows paket yöneticisinden kurulması gereken araç.
$GOV_AGENCYdünyayla nasıl iş birliği yapacak?LibreOffice’un havayı çoktan koklamış olması gerekirdi. İlke olarak Python betikleme mümkün, ama aşırı zahmetli ve dağınık; iyileştirme yol haritası da yok gibi görünüyor
Aynı uyarı Linux masaüstü ve genel olarak onun uygulamaları için de geçerli. Giderek daha fazla kapalı platform, bulut tabanlı olarak, çoğu zaman Python API’leri üzerinden mevcut uygulamalara gelişmiş “AI” özellik uzantıları ekleyecek
Açık kaynak dünyasındaki çeşitli akımların bu kadar silo hâline gelmiş olması üzücü. Parçaların toplamından daha büyük bir potansiyel boşa harcanıyor
LibreOffice elektronik tablolarında ve Apple Numbers’ta en çok şikâyet ettiğim şey bitişik olmayan seçim alanlarını kopyala/yapıştır işleme biçimi
Örneğin 5 satır 3 sütun veride
1 2 3,7 8 9,a b csatırlarını seçip kopyaladıktan sonrad e faltına yapıştırırsanız Excel yalnızca seçilen satırları arka arkaya ekler. LibreOffice ve Numbers ise aradaki boş satırları da korurBu davranışı değiştiren bir ayar bulamadım. Excel de tersine aralıkların korunmasını isteyen biri için sinir bozucu olabilir, ama ben aralıkların korunmasını neredeyse hiç istemediğim için LibreOffice ve Numbers kullanışsız geliyor
İnsanların bunu pek önemsememesinin nedeni, ofis paketlerinin en popüler kullanım senaryosunun Microsoft dosya biçimleriyle birlikte çalışabilirlik olması
LibreOffice içinde betik çalıştırmak için APSO script organiser öneriliyor: https://extensions.libreoffice.org/en/extensions/show/apso-a...
Hiç programlama dili kullanmamış yaşlı kullanıcı kitlesi yaşlanıp emekli olurken, Excel’e Python bağlamayı öğrenenler sonunda Python’ı daha çok tercih edecek. Çünkü daha esnek ve genişletilebilir
Temel hesap tablosu kullanımı dışında Excel kullanmak için bir neden yok. Biri elektronik tablo isterse Python ile oluşturmayı otomatikleştirip bir daha doğrudan uğraşmamalarını sağlıyorum
Hayal kırıklığı
“Excel’de Python şu anda Windows’ta Beta Channel çalıştıran kullanıcılara sunuluyor. Bu özellik önce 16.0.16818.2000 derlemesinden itibaren Windows için Excel’e dağıtılıyor, ardından diğer platformlara gelecek.” [1]
“Excel’de Python, Windows için Excel’de kullanılabilir. Bu özellik Mac için Excel, web için Excel, iPad için Excel, iPhone için Excel, Android için Excel’de kullanılamaz. Desteklenmeyen platformlarda Python içeren çalışma kitapları görüntülenebilir, ancak Python hücreleri yeniden hesaplandığında hata gösterilir.” [2]
[1] https://techcommunity.microsoft.com/t5/excel-blog/announcing...
[2] https://support.microsoft.com/en-us/office/introduction-to-p...
“Python hesaplamaları Microsoft Cloud’da çalışır” deniyor; almayayım
Bir dakika. LibreOffice’te yıllardır Python vardı, kimse umursamadı; bunun yerine “gerçek iş” için %100 uyumlu VBA gerektiğinden şikâyet edildi. O insanlar şimdi nerede?
LibreOffice VBA, Office VBA ile uyumlu olsaydı eski Windows sistemlerini bir yerlerde tutmaya devam etmek için bir nedenimiz olmazdı
Bunu para kazanmak için yapıyoruz ve Excel’de çalışmayan Excel elektronik tabloları satın almak isteyen kimse yok
Linux’ta LibreOffice Calc ile çalışıyorum; Excel’in Linux desteği sıfır olduğundan, müşteriye sorunsuz gönderebileceğim kadar uyumluluk olsa güzel olurdu, ama henüz ona yaklaşmış bile değil
Varlığından haberdar değillerse insanlar kullanmaz
Başka bir şeye alışmışlarsa insanlar onu ister