我需要将一个非常大的 Excel 文件读入 DataFrame。该文件包含字符串、整数、浮点数和布尔数据,以及缺失数据和完全空行。可能还值得注意的是,某些单元格值源自单元格公式和/或 VBA - 尽管理论上这不应该影响任何事情。
正如标题所说,pandas 有时将布尔值读取为 float 或 int 1 和 0,而不是 True 和 False。它似乎与空行的数量和其他数据的类型有关。为简单起见,我只是链接了一个复制问题的 2 张 Excel 文件。 Boolean_1.xlsx
这是代码:
import pandas as pd
df1 = pd.read_excel('Boolean_1.xlsx','Sheet1')
df2 = pd.read_excel('Boolean_1.xlsx','Sheet2')
print(df1, '\n' *2, df2)
Run Code Online (Sandbox Code Playgroud)
这是印刷品。主要注意行 ZBA,它在两个工作表中具有相同的值,但在 DataFrames 中具有不同的值:
Name stuff Unnamed: 1 Unnamed: 2 Unnamed: 3
0 AFD a dsf ads
1 DFA 1 2 3
2 DFD 123.3 41.1 13.7
3 IIOP why why why
4 NaN NaN NaN NaN
5 ZBA False False True …Run Code Online (Sandbox Code Playgroud)