【问题标题】:Save to Excel strings with '='使用“=”保存到 Excel 字符串
【发布时间】:2020-03-10 15:58:11
【问题描述】:

我正在尝试将我的输出保存到 Excel 文件,但某些值在字符串的开头有 '='。 因此,在导出时,Excel 将它们转换为公式,而不是字符串,我在 Excel 中有 #NAME 错误。 我只需要将一些列保存为文本,因为我在其他列中有日期和数字,它们应该按原样保存。

我已经尝试使用.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

当我使用内置 Excel 导入器从 CSV 导入时,我可以将值作为文本导入。

有什么方法可以告诉 Pandas 我想如何导入列?

【问题讨论】:

    标签: python excel pandas


    【解决方案1】:

    nvm,你可以通过 pandas 传递 xlsxwriter 选项:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 2016-10-22
      • 2013-08-09
      • 1970-01-01
      相关资源
      最近更新 更多