Dosya yeniden adlandırma betiğiGeliştirme ve Özelleştirme

Yüzlerce dosyayı kurallarınıza göre tek seferde yeniden adlandıran bir Python betiği: tarihler, numaralar, kelimeler ya da bir liste

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.

Yüzlerce dosyayı kurallarınıza göre tek seferde yeniden adlandıran bir Python betiği: tarihler, numaralar, kelimeler ya da bir liste

Ö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

Yüzlerce dosya olduğunda onları tek tek yeniden adlandırmak bir öğleden sonranızı alır: bir çekimin fotoğrafları, taranmış belgeler, ürün görselleri, bir klasördeki faturalar. Bu Python betiği onları sizin belirlediğiniz kurallara göre yeniden adlandırır: dosyadan alınan bir tarih, bir ön ek ya da sıra numarası ekler, kelimeleri değiştirir ya da siler, büyük-küçük harfi değiştirir ya da yeni adları eski ve yeni adlardan oluşan bir CSV listesinden alır. Herhangi bir şeyi yeniden adlandırmadan önce her dosyanın yeni adını gösterir ve aynı ada sahip mevcut bir dosyanın üzerine asla yazmaz. Kuralları ve birkaç mevcut adı istediğiniz adlarla birlikte gönderin. Betiği kendi bilgisayarınızda kendiniz çalıştırırsınız, bu yüzden önce klasörün bir kopyasında deneyin. Yalnızca adları değiştirir: dosyaların içeriğini düzenlemez.

Neler dahil

  • Neler alırsınızPython betiğini, adım adım talimatlar içeren bir README dosyasını ve Standart paketten itibaren kurallarınızı içeren bir ayar dosyasını barındıran bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
  • Önce önizlemeHiçbir dosya yeniden adlandırılmadan önce eski ve yeni adların listesi
  • Sizin adlandırma kurallarınızTarihler, numaralar, ön ekler, değiştirilen kelimeler ya da bir CSV listesi
  • Üzerine yazma yokBir ad zaten kullanılıyorsa dosya, diğerinin yerine geçmek yerine bir numara alır
  • Her tür dosyaWindows, macOS ya da Linux'ta fotoğraflar, PDF'ler, belgeler ve diğer dosyalar
  • Okunabilir kodYorumlarla; böylece bir kural sonradan kolayca değiştirilir

Nasıl çalışır

  1. 1
    KurallarKuralları anlatır, birkaç mevcut ve istenen adı gönderirsiniz
  2. 2
    KodBetiği ve çalıştırma kılavuzunu yazarız
  3. 3
    DeneyinKlasörün bir kopyasında çalıştırır ve önizlemeye göz atarsınız
  4. 4
    DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz

Sizden neler gerekiyor

Hangi klasörü yeniden adlandırmak istediğiniz ve içinde ne olduğu (fotoğraflar, PDF'ler, belgeler), yaklaşık kaç dosya olduğu ve kurallar: yeni ada ne gireceği ve hangi sırayla. Bunu en iyi, 5-10 mevcut adın yanına istediğiniz adları yazdığınız bir liste gösterir. Adlar bir listeden geliyorsa o CSV ya da Excel dosyasının birkaç satırı. Alt klasörler olup olmadığı ve sisteminiz: Windows, macOS ya da Linux.

Size soracaklarımız:

  • Hangi dosyaları yeniden adlandırmak istiyorsunuz?
  • Yeni adlar nasıl görünmeli?
  • Nerede çalışacak?
  • Asla yapmaması gereken bir şey

Paketleri karşılaştırın

PaketlerTemelTek yeniden adlandırma kuralı$16StandartAyar dosyasında kurallar$33PremiumYeniden adlandırma aracı$67
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
DilPythonPythonPython
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

Yeniden adlandırmayı geri alabilir miyim?

Standart paketten itibaren betik eski ve yeni adların bir listesini log dosyasına kaydeder ve README eski adların nasıl geri getirileceğini gösterir. Temel pakette klasörün bir kopyasında deneyin ve orijinali saklayın.

Bir fotoğrafın çekildiği tarihi kullanabilir mi?

Evet, fotoğraf bu tarihi bilgilerinde (EXIF) tutuyorsa. Tutmuyorsa betik dosyanın son değiştirilme tarihini kullanır. Hangi tarihe ihtiyacınız olduğunu söyleyin.

Dosyaların kendisini değiştirecek mi?

Hayır. Yalnızca adları değiştirir ve yalnızca belirlediğiniz klasörde. Dosyaları silmez, düzenlemez ya da başka yerlere taşımaz.

Dosyaları benim için siz mi yeniden adlandıracaksınız?

Hayır. Betiği bilgisayarınızda siz çalıştırırsınız, böylece dosyalarınız bilgisayarınızdan hiç çıkmaz. Bize dosyaların kendisini değil, yalnızca bir ad listesi gönderin.

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

Paketler