Search code examples
pythonpandasdecodeencode

How to create a pandas dataframe containing columns with special characters?


I try to create a Pandas data-frame from a list of dictionaries:

df = pandas.DataFrame(ls, columns = cols)

As a result I get the following error message:

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

I assume that the errors is caused by the fact that some values of the dictionary contains "special characters" (like ä or ö).

How can I make pandas to accept these characters?


Solution

  • You need to ensure that your default encoding is set to unicode; it is ascii by default. Try

    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')