熊猫用布尔值写excel问题

时间:2018-11-27 13:53:58

标签: python excel pandas

我有一个数据框,其中一列的字符串值为“ True”或“ False” 但是,使用pd.to_excel与excel一起打开文件时,此列与常规excel“ TRUE”(逻辑)与excel“ True”共同编译的“ True”不同,返回FALSE。当我导出为CSV但所有其他格式都消失了时,问题已解决。

有人知道如何解决此问题吗?

import pandas as pd
d = {'col1': [1, 2], 'col2': [3, 4], 'col3': ['True','False']}
df = pd.DataFrame(data=d)
writer = pd.ExcelWriter(r'H:\ExcelTest2.xlsx', engine = 'xlsxwriter')
df.to_excel(writer, index=False, sheet_name='Sheet1')
writer.save()

请执行我的代码。打开xlsx文件,并在第4列中编写常规的“ True”,然后将Column3(来自熊猫)与您刚编写的True进行比较。这将是错误的

我的问题是:如何将熊猫中的数据导出到excel,并以与excel相同的格式保留“ True”。

1 个答案:

答案 0 :(得分:1)

您可以在写入Excel之前转换字符串,如以下示例所示: 将熊猫作为pd导入 将numpy导入为np

df = pd.DataFrame({'A': ['True', 'False', 'True']})
df['A'].dtype
#dtype('O')

df['A'] = df['A'] == 'True'
df['A'].dtype
#dtype('bool')