TaggedNorth
@TaggedNorth
Начинающий программист

Как заменить все иероглифы в строке Python?

Доброго дня, пользователи habr. Столкнулся с такой проблемой, используя vk_api нужно загрузить документ .csv в сообщение бота, для этого приходится загружать файл сначала на сервер, однако VK ругается и не пропускает запрос на добавления файла, в котором содержатся азиатские иероглифы и плюется ошибкой

'charmap' codec can't decode byte 0x98 in position 254: character maps to

with open(FILE,'r',encoding='utf-8',newline='') as file:
                    reader = csv.reader(file, delimiter = ",")
                    data = list(reader)
                    row_count = len(data) - 1 
                print('Opening file!')
                document = open(FILE, 'r') # ФАЙЛ 
                print('Uploading file!')
                document_url = vk_session.method("docs.getMessagesUploadServer", {"type": "doc", "peer_id": userid}) #ЗАГРУЗКА ФАЙЛА НА СЕРВЕР
                print('Post!')
                try:
                    document_post = requests.post(document_url["upload_url"], files={"file":document}).json() #POST
                except Exception as exc:
                    print(f'{exc}')
                print('Saving file!')
                document_save = vk_session.method("docs.save", {"file": document_post["file"], "title":f"Search_{userid}"})#СОХРАНЕНИЕ ФАЙЛА
                document = document_save.get('doc')
                document_url = document['url']
                document_url = document_url[:document_url.find('?')] 
                #ОТПРАВКА СООБЩЕНИЯ
                print('Sending message')
                vk_session.method('messages.send', {'user_id': userid, "message":f'По вашему запросу найдено езультатов: {row_count} \n Просмотреть все в формате таблицы скачав документ по ссылке: {document_url}', 'random_id': 0, })


Существует ли способ, чтобы заменить все иероглифы, например, на символы '?'
Спасибо!
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 2
MonAkka
@MonAkka
Born in IT
import re

file = re.sub('Иероглиф', '?')
Ответ написан
SoreMix
@SoreMix
yellow
Откройте, указав кодировку файла, как делали это в первой строке
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 150 000 до 200 000 ₽
OnederX Москва
от 100 000 до 120 000 ₽
Кенарий Санкт-Петербург
от 120 000 до 250 000 ₽
20 сент. 2020, в 13:09
17000 руб./за проект
20 сент. 2020, в 12:12
5000 руб./за проект