Pandas pd.readexcel 无法读取以 # 开头的单元格值

问题描述 投票:0回答:1

我正在尝试使用 pandas pd.read_excel 读取 Excel 文件,并且单元格中的数据包含作为公式错误的文本值。我的要求是将公式错误读取为文本而不是将其替换为 NA

示例: #NA,#DIV/0! #价值

使用 pd.read_excel 读取此数据时,所有数据都会转换为 NA,而不是按原样读取数据。

我确实尝试过使用 openpyxl 但对于我的整体要求,pandas read excel 是合适的,因为我得到了不同格式的 excel 文件。

代码:

import pandas as pd

xlsx = pd.ExcelFile('Book1.xlsx')
df = pd.read_excel(xlsx, sheet_name ='Sheet1' ,engine_kwargs={"values_only":True})

来源:

1,0,#DIV/0!(公式错误),#DIV/0! (文字)

结果:

LHS RHS 公式 Ftext 0 1 0 南 南

python pandas excel dataframe excel-formula
1个回答
0
投票

#NA
应解释为 NaN,但不是
#DIV/0!
/
#Value

如果您不想

read_excel
解析 NaN,您有多种选择:

pd.read_excel('your_file.xlsx', na_filter=False)

这将使所有字符串保持完整(包括空字符串)。

keep_default_na
na_values
的组合。例如,忽略除空字符串之外的所有内容为 NaN:

pd.read_excel('your_file.xlsx',  keep_default_na=False, na_values=[''])
© www.soinside.com 2019 - 2024. All rights reserved.