YazılımÖ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.

Örnek sonuç
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
Sayfa başına bir dosya olarak gelen taranmış sözleşmeler, müşteri müşteri gönderilmesi gereken 300 sayfalık bir hesap dökümü, tek bir PDF olarak gönderilmesi gereken bir belge seti: bu Python betiği bu tür PDF işlerini bir düzenleyicide tıklayıp durmak yerine saniyeler içinde yapar. Dosyaları belirlediğiniz sırayla (ada göre, tarihe göre ya da bir listeden) birleştirir, bir PDF'yi tek sayfalara, sabit aralıklara ya da her yer işaretinde başlayan parçalara böler ve Premium pakette bir sayfada belirttiğiniz bir kelime, örneğin Fatura No, geçtiğinde kesebilir. Sayfalar yeniden basılmaz, olduğu gibi kopyalanır; bu yüzden kalitelerini korurlar. İşi ve içinde özel hiçbir şey olmayan bir iki örnek dosya gönderin. Betiği kendi bilgisayarınızda kendiniz çalıştırırsınız. Metin düzenlemez ya da taramaları okumaz.
Neler dahil
- Neler alırsınızPython betiğini, adım adım talimatlar içeren bir README dosyasını ve Standart paketten itibaren sırayı, aralıkları ve adları içeren bir ayar dosyasını barındıran bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
- Sizin sıranızla birleştirmeAda, tarihe ya da verdiğiniz bir listeye göre
- Sizin yönteminizle bölmeTek sayfalar, aralıklar ya da yer işaretleri
- Kalite kaybı yokSayfalar olduğu gibi kopyalanır
- Anlaşılır dosya adlarıNumaralar, sayfa aralıkları ya da listenizden adlar
- Okunabilir kodYorumlarla; sonradan kural değiştirmek kolay
Nasıl çalışır
- 1Görevİşi anlatır ve bir iki örnek PDF gönderirsiniz
- 2KodBetiği ve çalıştırma kılavuzunu yazarız
- 3DeneyinDosyalarınızın kopyalarında çalıştırır ve sayfaları kontrol edersiniz
- 4DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz
Sizden neler gerekiyor
Ne yapılması gerektiği: hangi dosyaların hangi sırayla birleştirileceği ya da nasıl bölüneceği (her sayfa, her N sayfa, aralıklara, yer işaretlerine ya da sayfadaki bir kelimeye göre) ve sonuçların nasıl adlandırılacağı. İçinde özel hiçbir şey olmayan bir iki örnek PDF ya da uydurma içerikle aynı düzen; bölme bir kelimeye bağlıysa o kelimenin göründüğü bir sayfa. Yaklaşık kaç dosya ve sayfa olduğu ve sisteminiz: Windows, macOS ya da Linux.
Size soracaklarımız:
- Birleştirme mi, bölme mi, yoksa ikisi art arda mı?
- Her parçanın nerede başladığını nasıl anlıyorsunuz?
- Dosyalar nasıl adlandırılmalı?
- Nerede çalışacak?
Paketleri karşılaştırın
| Paketler | TemelBirleştirme ya da bölme$16 | StandartAyarlı PDF$33 | PremiumPDF aracı$67 |
|---|---|---|---|
| Teslim süresi | 1 gün | 2 gün | 3 gün |
| Revizyonlar | 1 | 2 | 3 |
| Kod | en fazla 150 satır | en fazla 400 satır | en fazla 1.000 satır |
| Kod dosyası | 1 | en fazla 3 | en fazla 8 |
| Ayar dosyası | Hayır | Evet | Evet |
| Anlaşılır hata mesajları ve log | Hayır | Evet | Evet |
| Çalıştırma seçenekleri ve zamanlanmış çalıştırma kılavuzu | Hayır | Hayır | Evet |
| Kurulum ve çalıştırma kılavuzu (README) | Evet | Evet | Evet |
| Dil | Python | Python | Python |
| Sipariş ver Temel | Sipariş ver Standart | Sipariş 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.
Sorular ve yanıtlar
Taranmış PDF'leri bir kelimeye göre bölebilir mi?
Hayır: bir tarama, bir sayfanın resmidir ve içinde aranacak metin yoktur. Taramaları sayfa numaralarına ya da aralıklara göre bölmek sorunsuz çalışır. Kelimeye göre bölmek için gerçek metin içeren bir PDF gerekir, örneğin bir programdan kaydedilmiş olan.
Parola korumalı PDF'ler ne olacak?
Parolayı biliyorsanız README, çalıştırırken onu betiğe nasıl vereceğinizi gösterir; parola asla koda yazılmaz. Parolasını bilmediğiniz dosyalar atlanır ve log kaydında listelenir.
PDF'leri sıkıştırabilir de mi?
Dosya yapısının hafif sıkıştırılması, evet. Taramaları çok daha küçük yapmak içlerindeki görselleri yeniden sıkıştırmak demektir; bu da kalitelerini değiştirir. Brifte sorun, paketinize uyup uymadığını bildirelim.
Belgelerimi siz mi işleyeceksiniz?
Hayır. Betiği bilgisayarınızda siz çalıştırırsınız, böylece sözleşmeler ve hesap dökümleri bilgisayarınızdan hiç çıkmaz. Bize yalnızca özel hiçbir şey içermeyen örnekler gönderin.
Yanıtınızı bulamadınız mı?


