Özel betikGeliştirme ve Özelleştirme

Rutin işlerinizi yapan Python, JavaScript ya da Google Apps Script ile özel bir betik: dosyalar, tablolar, e-postalar ve raporlar

Genellikle 15 dakika içinde hazırRevizyonlar dahilKalite kontrolü
Paketler
Ödeme korumasıAyrıntılar
  • Paket kapsamındaki revizyonlar ücretsizdir.
  • Teslimattan sonraki 3 gün içinde yanıt vermezseniz iş otomatik olarak onaylanır.

Para, ödeme yaptığınızda bloke edilir ve yalnızca işi onayladığınızda aktarılır.

Rutin işlerinizi yapan Python, JavaScript ya da Google Apps Script ile özel bir betik: dosyalar, tablolar, e-postalar ve raporlar

Örnek sonuç

Standart paket için örnek

Merging the monthly sales files of 9 shops into one Excel report

How it is run

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Folder: sales/2026-10, 9 files found
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 rows
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 rows
2026-11-02 09:14:04 WARN  shop-07.csv: 3 rows without a price skipped (lines 88, 412, 913)
2026-11-02 09:14:05 INFO  Done: 10,412 rows -> report-2026-10.xlsx (sheets "Sales" and "Totals")

Settings, not code

The column names of each shop live in settings.ini, so a new shop or a renamed column is a line there:

[columns]
date = Date, Sale date, Day
product = Product, Item, Name
quantity = Qty, Quantity, Pcs
price = Price, Unit price

A part of the code

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Reads one shop's file and gives it the report's column names."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: no column for '{name}' (looked for {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Files: a ZIP archive with merge_sales.py (310 lines), settings.ini, requirements.txt and a README with installing Python, running the script and what each message in the log means. The client runs it on their own computer.

Client: a small chain of 9 stationery shops; each shop sends its sales for the month as a CSV or Excel file, with slightly different column names. Task: one script that reads every file in a folder, brings the columns to one shape, and writes a single Excel report with all sales and a sheet of totals by shop.

Müşteri ve tüm ayrıntılar kurgusaldır.

Bu hizmet hakkında

Şu an elle yaptığınız bir işi yapan bir betik: dosyaları yeniden adlandırır ve sıralar, tabloları birleştirir ya da temizler, bir dosya formatını başka birine dönüştürür, bir Google E-Tablolar tablosundan e-posta gönderir, fatura ya da rapor hazırlar veya bir web sayfası listesini kontrol eder. İşi, neyin gireceğini ve neyin çıkması gerektiğini anlatın, varsa örnek dosyaları ekleyin (CSV, Excel, metin dosyaları, JSON ya da ekran görüntüleri). Kodu işe uygun dilde yazarız: Python, JavaScript (Node.js), Google E-Tablolar, Dokümanlar ve Gmail için Google Apps Script, PowerShell ya da Bash. Kodu ve neyin kurulacağını, nasıl ayarlanıp çalıştırılacağını sade bir dille anlatan bir README'yi içeren bir arşiv alırsınız; kodu sipariş sayfasında da okuyabilirsiniz. Betiği bilgisayarınızda ya da hesaplarınızda biz çalıştırmayız: onu kendi verileriniz üzerinde siz çalıştırırsınız; bu yüzden önce bir kopya üzerinde denemeye değer. Şifreler ve anahtarlar kodun dışında kalır: betik onları sizin doldurduğunuz bir ayar dosyasından okur. Hesaplara izinsiz giren, korumaları aşan ya da kişisel veri toplayan betikler yapılmaz.

Neler dahil

  • Neler alırsınızKodu, adım adım talimatlar içeren bir README'yi ve gerektiğinde örnek bir ayar dosyasını barındıran bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
  • İşe uygun dilPython, JavaScript, Apps Script, PowerShell ya da Bash
  • Sade bir kılavuzNeyin kurulacağı ve nasıl çalıştırılacağı, adım adım
  • Ayarlar tek bir yerdeKlasörler, adresler ve anahtarlar sizin doldurduğunuz bir dosyada
  • Sizin verilerinizle çalışırBilgisayarınızdaki dosyalar, CSV, Excel ya da Google E-Tablolar
  • Okunabilir kodYorumlarla, sonradan kolayca değiştirilir

Nasıl çalışır

  1. 1
    GörevBetiğin ne yapması gerektiğini anlatır ve örnek dosyaları eklersiniz
  2. 2
    KodKodu ve çalıştırma kılavuzunu yazarız
  3. 3
    DeneyinOnu verilerinizin bir kopyası üzerinde çalıştırırsınız
  4. 4
    DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz

Sizden neler gerekiyor

Betiğin adım adım ne yapması gerektiği: neyi alacağı (dosyalar, bir klasör, bir Google E-Tablolar tablosu, bir bağlantı listesi), ne üretmesi gerektiği ve uyması gereken kurallar. Nerede çalışacağı: Windows, macOS ya da Linux, Google E-Tablolar veya sahip olduğunuz bir sunucu; belirli bir dil gerekiyorsa o dil. Örnek dosyalar çok yardımcı olur: CSV ya da Excel olarak tablonuzun birkaç satırı, örnek bir metin ya da JSON dosyası veya ekran görüntüleri. Asla gerçek şifreler ya da anahtarlar göndermeyin: kılavuz bunları kendiniz nereye gireceğinizi anlatır.

Size soracaklarımız:

  • Betik ne yapmalı?
  • Neyi alır ve ne üretmeli?
  • Nerede çalışacak?
  • İhtiyacınız olan bir dil ya da araçlar
  • Asla yapmaması gereken bir şey

Paketleri karşılaştırın

PaketlerTemelKüçük betik$19StandartAyarlı betik$39PremiumKüçük araç$79
Teslim süresi1 gün2 gün3 gün
Revizyonlar123
Koden fazla 150 satıren fazla 400 satıren fazla 1.000 satır
Kod dosyası1en fazla 3en fazla 8
Ayar dosyasıHayırEvetEvet
Anlaşılır hata mesajları ve logHayırEvetEvet
Çalıştırma seçenekleri ve zamanlanmış çalıştırma kılavuzuHayırHayırEvet
Kurulum ve çalıştırma kılavuzu (README)EvetEvetEvet
Sipariş ver TemelSipariş ver StandartSipariş ver Premium

Ödeme koruması

Sipariş verirken ödersiniz, ancak para yalnızca onaylanan iş için aktarılır.

  • Sabit fiyatPaket fiyatı, ödeme yaptıktan sonra değişmez.
  • Para bloke edilirÖdeme yaptığınızda tutar yalnızca bloke edilir. İşi onayladığınızda hizmete aktarılır.
  • Teslimattan önce kontrolHer sonuç size ulaşmadan önce kalite kontrolünden geçer ve onaylamadan önce sipariş sayfasında görürsünüz.
  • Ücretsiz revizyonlarBrifiniz kapsamında, paketin izin verdiği sayıda değişiklik isteyin.
  • 3 gün sonra onayTeslimattan sonraki 3 gün içinde işi onaylamaz veya değişiklik istemezseniz iş otomatik olarak onaylanır. Teslimattan sonra sipariş sohbetine yazarsanız sipariş bekletilir; yanıt verdikten sonra 3 günlük süreyi yeniden başlatabiliriz ve bunu sohbette bildiririz.
  • Yeniden yapım veya tam iadeSonuç brifinize uymuyorsa ve revizyonlar sorunu çözmediyse ya da iş teslim süresinin iki katından uzun sürerse sipariş sohbetine yazın: işi yeniden yaparız veya ödemenin tamamını iade ederiz.
Nasıl çalışır →

Sorular ve yanıtlar

Programlama bilmem gerekiyor mu?

Hayır. README neyin kurulacağını (örneğin Python için bir kez Python'un kendisini) ve betiğin nasıl çalıştırılacağını adım adım anlatır. Google Apps Script için kodu tablonuzun betik düzenleyicisine yapıştırır ve Çalıştır'a basarsınız.

Betiği benim için siz çalıştıracak mısınız?

Hayır. Onu kendi verileriniz üzerinde, bilgisayarınızda, sunucunuzda ya da Google hesabınızda siz çalıştırırsınız; böylece dosyalarınız ve hesaplarınız sizde kalır. Önce verilerinizin bir kopyası üzerinde deneyin.

Hangi dili seçmeliyim?

Emin değilseniz bize bırakın: Google E-Tablolar, Dokümanlar ve Gmail içindeki işler için Google Apps Script, bilgisayardaki dosyalar, tablolar ve web sayfaları için Python, Windows işleri için PowerShell ve Linux sunucuları için Bash.

Betik bir hizmetin API'siyle çalışabilir mi?

Evet, hizmetin herkese açık bir API'si varsa ve kendi anahtarınızı ondan alırsanız: kodu hizmetin dokümantasyonuna göre yazarız, anahtarınızı ayar dosyasına siz girersiniz. Sizin için hesap ya da anahtar oluşturmayız.

Bilgisayarımda çalışmazsa ne olur?

Hata mesajını ya da bir ekran görüntüsünü sipariş sayfasından bize gönderin ve paketiniz kapsamında bir değişiklik isteyin. Çoğu sorun eksik bir kütüphane ya da ayarlardaki bir yoldur; README bunları anlatır.

Yanıtınızı bulamadınız mı?

Paketler