Merhaba arkadaşlar. Metin dosyaları üzerinde çalışmalar yaparken, verileri standart hale getirmek isteyebilirsiniz. Bu konuda non-english dediğimiz karakterler içeren bir veri setiyle çalışmak işlerimizi zorlaştırabilir. Bugün Python 3 ile bir metin dosyasındaki Türkçe karakterleri İngilizce karşılıklarına dönüştürmek için ufak bir kod paylaşıyorum.
#!/usr/bin/env python
# -*- coding: utf-8 -*- tr_chars = {'ç':'c', 'Ç':'C', 'ğ':'g', 'Ğ':'G', 'ı':'i', 'İ':'I', 'ö':'o', 'Ö':'O', 'ş':'s', 'Ş':'S', 'ü':'u', 'Ü':'U'}
lines = []
with open('ornek.txt') as infile:
for line in infile:
for src, target in tr_chars.items():
line = line.replace(src, target)
lines.append(line)
with open('ornek.txt', 'w') as outfile:
for line in lines:
outfile.write(line) print('Tüm işlemler bitti!')
Not: UTF-8 kodlaması ile çalışırsanız, Python’da non-english karakterlerle ilgili hatalar almazsınız. ASCII kodlamasını kullanıyorsanız (Windows’ta genelde default olarak geliyor), dosyayı okuturken UTF-8 olarak encode edebilirsiniz.
İyi kodlamalar…
Paylaş