Напишите текстовый файл с помощью Cedilla Delimer (Ç) - символа, не печатаемого с клавиатуры. - PullRequest
1 голос
/ 03 августа 2020

У меня есть программа, в которой я пишу файл с разделителями каналов, используя PySpark. Я хочу записать файл, используя Ç - cedilla в качестве разделителя.

образец кода

separator = '|'
concat_udf1 = F.udf(lambda cols: "".join([x+separator if x is not None else "separator" for x in cols]), StringType())

Текущий вывод данных

7|2020-03-31|xyz
7|2020-03-31|abc

Новый вывод данных

7Ç2020-03-31Çxyz
7Ç2020-03-31Çabc

Если я меняю разделитель на Ç - cedilla, я получаю ошибку ниже

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)

Любая помощь приветствуется - TIA

1 Ответ

0 голосов
/ 03 августа 2020

Набор символов UTF-8 содержит Ç. Измените кодировку записи файла.

https://www.python.org/dev/peps/pep-0263 Добавьте его выше вашего скрипта.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

http://www.fileformat.info/info/charset/UTF-8/list.htm

Возможный ответ: тюркский sh кодировка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...