سؤال

أنا ألعب مع أبي تويتر ، ولكن لدي العديد من الأسئلة بشأن ترميز الأحرف التركية.هنا هو رمز أنا أعمل مع:

# -*- coding: cp1254 -*-
import sys
import csv
import tweepy
import locale
import string
locale.setlocale(locale.LC_ALL, "Turkish")

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)

f=open("tweets.csv", "wb")
for q in [list of search queries]:

     a=[tweet.text.encode("utf-8") for tweet in tweepy.Cursor(api.search, q, result_type="recent", include_entities=True, lang="tr").items(20)]
     wr=csv.writer(f, quoting=csv.QUOTE_ALL)
     wr.writerow(q)

في الأساس ، ما أفعله هو تشغيل أبي البحث عن طريق التكرار من خلال قائمة استعلامات البحث ومن ثم كتابة تويت في ملف إكسيل.ومع ذلك ، بغض النظر عما أفعله ، تتم كتابة التغريدات عن طريق استبدال الأحرف التركية العادية ببدائل أخرى.لقد حاولت عدة أشياء (وضع لغة, مضيفا .ترميز("أوتف-8") جزء ، الخ.) ، لكن ما زلت لا أعرف كيفية إصلاحه.

هنا هو ما أتحدث عنه:

ما هو مكتوب:أرينا

ما أريد أن أكتب:أرينا

ما لا أفهمه هو أن ü ، and و all كلها في الحروف المحلية عندما قمت بتعيين اللغة إلى التركية ، ولكن بيثون بدائل هذه الحروف.

هل كانت مفيدة؟

المحلول

أنا تكرار التعليمات البرمجية الخاصة بك على نظام بلدي (ويندوز 7 ، مع أوفيس 2010) وحصلت عليه العمل.لقد استخدمت الكود الخاص بك ولكني قمت بتبسيط استعلام البحث على النحو التالي:

search_results = api.search(q="canan1405", count=10)
for tweet in search_results:
    print tweet.text.encode('utf-8')

لقد سحبت التغريدات من مستخدم كانان 1405 لأنها تحتوي على أحرف تركية.(آمل أنها لا تمانع!)

أنا ببساطة إعادة توجيه إخراج البرنامج النصي الخاص بي إلى ملف ، على النحو التالي:

بايثون so_24038317.py > تويت.كسف

عند هذه النقطة ، تويت.يحتوي ملف كسف أحرف ونيكود المشفرة كما أوتف-8.إذا كنت انقر نقرا مزدوجا فوق الملف كما فعلت ، يظهر العرض إكسيل الافتراضي أحرف القمامة مثل الكثير في قضيتك:

بدلا من النقر المزدوج على ملف كسف ، استخدم الخطوات التالية لاستيراد الملف:

  1. بدء التفوق.
  2. انقر فوق علامة التبويب" البيانات " على الشريط.
  3. انقر فوق رمز" من النص "في"الحصول على بيانات خارجية".
  4. حدد موقع ملف كسف وانقر على زر" استيراد".
  5. سيتم عرض معالج.في حالتي ، جاء مع التخمين الصحيح لمحتويات الملف (انظر القائمة المنسدلة "أصل الملف:"):

يمكنك إكمال بقية الخطوات للمعالج ولكنها اختيارية.الملف المعروض بشكل صحيح:

بقدر ما أستطيع أن أقول ، فإنه يحتوي على (ويعرض بشكل صحيح) الأحرف التركية التالية:

ş, Ğ, İ, ğ, ı, ç

لاحظ أن الحرف مباشرة بعد سلسلة "أوي أوشيرين كيدي" هو التعبيرات ، وليس حرف أوتف-8 صالحة.نأمل أن يساعد هذا.

نصائح أخرى

استخدام iso-8859-9 أو iso-8859 ترميز أن يكون الأحرف التركية.

تحرير : إذا كنت تريد أوتف 8 ترميز أبسولوتلي ، فك ترميز وترميز بعد يمكنك القيام بذلك myString.decode('iso-8859-9').encode('utf8')

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top