Сохранить в Excel строки с '=' - PullRequest
1 голос
/ 10 марта 2020

Я пытаюсь сохранить вывод в файл Excel, но некоторые значения имеют '=' в начале строки. Поэтому при экспорте Excel преобразует их в формулы, и вместо строк у меня появляется ошибка #NAME в Excel. Мне нужно сохранить только некоторые столбцы в виде текста, так как у меня есть даты и цифры в других столбцах, и они должны быть сохранены как есть.

Я уже пытался преобразовать их с помощью функции .astype(), но без результата.

def create_excel(datadir, filename, data):

    df = col_type_converter(filename, pd.DataFrame(data))

    filepath = os.path.join(datadir, filename + '.xlsx')
    writer = pd.ExcelWriter(filepath, engine='xlsxwriter')
    df.to_excel(writer, index=False)
    writer.save()
    return filepath

def col_type_converter(name, dataframe):
    df = dataframe

    if name == 'flights':
        df['departure_station'] = df['departure_station'].astype(str)
        df['arrival_station'] = df['arrival_station'].astype(str)
        return df

    return df

Когда я импортирую из CSV с помощью встроенного средства импорта Excel, я могу заставить его импортировать значения в виде текста.

Есть ли способ сказать Pandas как я хочу импортировать столбцы?

1 Ответ

1 голос
/ 10 марта 2020

nvm, вы можете просто передать параметры xlsxwriter через pandas:

writer = pd.ExcelWriter(filepath, engine='xlsxwriter', options={'strings_to_formulas': False})

https://xlsxwriter.readthedocs.io/working_with_pandas.html#passing -xlsxwriter-constructor-options-to- pandas https://xlsxwriter.readthedocs.io/worksheet.html#worksheetwrite

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