Pandas read_excel с конвертером в виде 'str' читает заглавную TRUE как True - PullRequest
0 голосов
/ 28 февраля 2020

На изображении внизу слева - данные Excel, справа - что содержит результирующий DataFrame.

ПРОБЛЕМА: заглавная TRUE (FALSE) заменяется на True (False), даже когда я читаю все данные в виде строк:

converter = {col: str for col in (0,1)}    
pd.read_excel(file, sheetname='Sheet1', index_col=None, header=None, keep_default_na=False, converters=converter)

Я ожидаю, что col2 будет содержать значения в верхнем регистре, но вместо этого будут True и False. Что я делаю не так и как я могу прочитать ИСТИНА как ИСТИНА? Я хочу прочитать все значения в точности так, как они представлены в Excel. поэтому TRUE должно быть TRUE, NA -> NA, True -> True, а все остальные пока неизвестные специальные слова

example image

1 Ответ

0 голосов
/ 28 февраля 2020

Следующий код работает, создавая пользовательскую функцию преобразования и присваивая ее указанным c столбцам (только один в вашем случае, но это может быть расширено):

myconv = lambda x: str(x).upper()
bool_cols = [1]
converter = {col: myconv for col in bool_cols}    
pd.read_excel(file, sheetname='Sheet1', index_col=None, header=None, keep_default_na=False, converters=converter)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...