Скрипт Python, специальные символы Pandas - PullRequest
0 голосов
/ 21 сентября 2018

Я использую этот скрипт для геокодирования адресов.Сценарий работает нормально, однако выходной файл преобразует специальные символы, такие как 中央区 и Athénée, в бессмысленные слова.т.е.

中央区 -> 中央区

Athénée -> Athénée

Входной файл - UTF-8 .CSV, сохраненный в MAC excel.Скрипт использует Pandas для обработки данных.Как я могу поддерживать специальные символы, такие как приведенные выше?

Код полного сценария можно найти здесь: https://github.com/shanealynn/python_batch_geocode/blob/master/python_batch_geocoding.py

 import pandas as pd
    import requests
    import logging
    import time

    #------------------ CONFIGURATION -------------------------------

    # Set your output file name here.
    output_filename = '/Users/_Library/Python/geobatch/res1000_output.csv'
    # Set your input file here
    input_filename = "/Users/_Library/Python/geobatch/res1000.csv"
    # Specify the column name in your input data that contains addresses here
    address_column_name = "Address"
    # Return Full Google Results? If True, full JSON results from Google are included in output
    RETURN_FULL_RESULTS = False

    #------------------ DATA LOADING --------------------------------

    # Read the data to a Pandas Dataframe
    data = pd.read_csv(input_filename, encoding='utf8')

    addresses = data[address_column_name].tolist()


    # All done
    logger.info("Finished geocoding all addresses")
    # Write the full results to csv using the pandas library.
    pd.DataFrame(results).to_csv(output_filename, encoding='utf8')

Ответы [ 2 ]

0 голосов
/ 22 сентября 2018

Видимо, это решение, с которым я работаю:

# Write the full results to csv using the pandas library.
pd.DataFrame(results).to_csv(output_filename, encoding='utf-8-sig')
0 голосов
/ 21 сентября 2018

Если я вставлю строку:

data['Address'] = data['Address'].map(lambda x: x.encode('unicode-escape').decode('utf-8'))

для декодирования и перекодирования входов - тогда вывод станет.

中央区 -> \u4e2d\u592e\u533a вместо 中央区

что на шаг ближе к правильному направлению, я полагаю, если бы кто-то мог на этом опираться?

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