我正在尝试使用 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 南 南
#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=[''])