কিউজিআইএস - উচ্চারণ সারণীতে নিয়মিত অক্ষরে স্বরযুক্ত অক্ষরগুলিকে রূপান্তর করা সম্ভব? [বন্ধ]


9

আমার কাছে জাতীয় অক্ষরের সাথে নামযুক্ত ওএসএম ডেটাসেট রয়েছে (এটি সিএসভি রফতানি, তবে আমার এটি এসএইচপিতে রয়েছে):

osm_id,code,fclass,population,name,longitude,latitude
276645544,1003,village,221,Krč,14.248410,49.194988
444571400,1003,village,88,Radonice,14.548085,49.143251
488567474,1003,village,115,Doubravka,14.363835,49.282158
488567478,1003,village,114,Koloměřice,14.399437,49.280328
488567484,1003,village,111,Údraž,14.309249,49.281551
491452727,1004,hamlet,33,Poněšice,14.481200,49.105121
601855465,1003,village,147,Hvožďany,14.433230,49.286094
631878480,1003,village,211,Myšenec,14.208999,49.223213

এবং তাদের এই ফর্ম রূপান্তর করতে চান:

osm_id,code,fclass,population,name,longitude,latitude
276645544,1003,village,221,Krc,14.248410,49.194988
444571400,1003,village,88,Radonice,14.548085,49.143251
488567474,1003,village,115,Doubravka,14.363835,49.282158
488567478,1003,village,114,Kolomerice,14.399437,49.280328
488567484,1003,village,111,Udraz,14.309249,49.281551
491452727,1004,hamlet,33,Ponesice,14.481200,49.105121
601855465,1003,village,147,Hvozdany,14.433230,49.286094
631878480,1003,village,211,Mysenec,14.208999,49.223213

যেখানে অ্যাকসেন্টগুলি "č, š, etc., instead" ইত্যাদির পরিবর্তে সরানো হয় আপনার কাছে "সি, এস, আর, এ" রয়েছে। আমাকে বর্তমান কলামটি সম্পাদনা করতে হবে না - রূপান্তরিত নামের সাথে নতুন কলাম তৈরি করতে পারে।

আমি বর্তমানে সিএসভি ফাইলের জন্য এই জাতীয় কিছু অনলাইন সরঞ্জাম ব্যবহার করতে যাচ্ছি তবে এটি কিউজিআইএস-এ সরাসরি সমাধান করতে পারলে দুর্দান্ত হবে।


1
কেন বিষয় বন্ধ? আমি প্রাথমিকভাবে কিউজিআইএস-এ সরাসরি সমাধানের জন্য আমার ডেটা সিএসভিতে রফতানি করতে এবং আবার আমদানি করার জন্য জিজ্ঞাসা করছি।
জুহেল

উত্তর:


9

হ্যাঁ, অজগরের ইউনিিডকোড লাইব্রেরি দিয়ে এটি সম্ভব ... ( ডকুমেন্টেশন )। এটি প্রতিটি ইউনিকোড চরিত্রের সমতুল্য নিকটবর্তী ASCII সন্ধান করার চেষ্টা করে।

from unidecode import unidecode

s="""
osm_id,code,fclass,population,name,longitude,latitude
276645544,1003,village,221,Krč,14.248410,49.194988
444571400,1003,village,88,Radonice,14.548085,49.143251
488567474,1003,village,115,Doubravka,14.363835,49.282158
488567478,1003,village,114,Koloměřice,14.399437,49.280328
488567484,1003,village,111,Údraž,14.309249,49.281551
491452727,1004,hamlet,33,Poněšice,14.481200,49.105121
601855465,1003,village,147,Hvožďany,14.433230,49.286094
631878480,1003,village,211,Myšenec,14.208999,49.223213
"""

print(unidecode(s))

আউটপুট: -

osm_id,code,fclass,population,name,longitude,latitude
276645544,1003,village,221,Krc,14.248410,49.194988
444571400,1003,village,88,Radonice,14.548085,49.143251
488567474,1003,village,115,Doubravka,14.363835,49.282158
488567478,1003,village,114,Kolomerice,14.399437,49.280328
488567484,1003,village,111,Udraz,14.309249,49.281551
491452727,1004,hamlet,33,Ponesice,14.481200,49.105121
601855465,1003,village,147,Hvozdany,14.433230,49.286094
631878480,1003,village,211,Mysenec,14.208999,49.223213

এই কোডটি একটি সিএসভি ফাইলকে অন্যটিতে রূপান্তর করবে: -

from unidecode import unidecode
with open("/path/to/original.csv", "r") as input_file:
    with open("/path/to/converted.csv","w") as output_file:
        output_file.write(unidecode(input_file.read()))

1
হুম, দেখে মনে হচ্ছে আমি সিএসভি রফতানি এড়াতে এবং ফিরে আমদানি করতে পারি না। আমি সম্ভবত কিউজিআইএস-এর উন্নতির মতো বৈশিষ্ট্যটির পরামর্শ দেব।
জুহেল

আপনি পাইথন ফিল্ড ক্যালকুলেটর ব্যবহার করলে আপনি একটি সিএসভি তৈরি এড়াতে পারবেন। প্রথমে আপনাকে QGIS পাইথনে লাইব্রেরি ইনস্টল করতে হবে। এখানে একটি বিবরণ দেওয়া হয়। তারপরে আপনি পাইথন অ্যাডভান্স ফিল্ড ক্যালকুলেটর ব্যবহার করতে পারেন। বিশ্বব্যাপী হবে from unidecode import unidecodeএবং সূত্রটি হবেvalue = unidecode(<name>)
কোরেন্টিন লেমাইট্রে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.