Czytam plik Excela, który ma kilka danych liczbowych i kategorycznych. Kolumny nazwa_strumienia zawierają znaki w obcym języku. Kiedy próbuję zobaczyć zawartość kolumny name_string, otrzymuję żądane wyniki, ale cudzoziemskie znaki (które są wyświetlane poprawnie w arkuszu kalkulacyjnym programu Excel) są wyświetlane z niewłaściwym kodowaniem. Oto co mam:Pandas, frameworka danych i kodowanie znaków podczas odczytu pliku excel
import pandas as pd
df = pd.read_excel('MC_simulation.xlsx', 'DataSet', encoding='utf-8')
name_string = df.name_string.unique()
name_string.sort()
name_string
produkującym następujące:
array([u'4th of July', u'911', u'Abab', u'Abass', u'Abcar', u'Abced',
u'Ceded', u'Cedes', u'Cedfus', u'Ceding', u'Cedtim', u'Cedtol',
u'Cedxer', u'Chevrolet Corvette', u'Chuck Norris',
u'Cristina Fern\xe1ndez de Kirchner'], dtype=object)
W ostatniej linii, poprawnie zakodowany nazwa powinna być Cristina Fernández de Kirchner. Czy ktoś może mi pomóc w tym problemie?
Dziękuję bardzo @unutbu. Znakomita odpowiedź i dla mnie wyjaśniono więcej niż jedną rozmytą kwestię. Pozdrowienia –
Jak zapisać ten sam problem, gdy zapisujemy wartości na liście i musimy wydrukować listę. Chciałbym zobaczyć właściwe znaki. – Sigur
@Sigur: Drukowanie listy powoduje, że Python wydrukuje nawiasy kwadratowe wokół * repr * pozycji na liście oddzielonych przecinkami. Jeśli chcesz "str" elementów, musisz [skomponować to sam] (https://stackoverflow.com/a/32849250/190597). Konieczne może być również dekodowanie bajtów, jeśli obiekty na liście to 'bytes', a nie (Python3)' str's. Jeśli to wyjaśnienie i link nie odpowiadają w pełni na twoje pytanie, otwórz nowe pytanie ze wszystkimi szczegółami (przykładowy fragment listy i pożądany wynik). – unutbu