How to parse TRUE and FALSE value into string using Pandas

Viewed 51

I have an Excel file. One of the columns is type General. Values in this column have formats like 10cm, 0, 1, TRUE and FALSE. Now I'm using Pandas to parse the Excel file into a dataframe and then save them in a table in SQLite. I want the values in this column keep its own format.

I have used xl=pd.ExcelFile() to read the file and xl.parse() to read the data. But the FALSE value in the column become 0, which confuses me with real 0 value. The code line is

df=xl.parse(sheet_name=sheet,names=columns,skiprows=2)

where the sheet is a given sheetname and columns is a list of column names.

Could someone help me with the issue?

3 Answers

This is how I got it-

df = pd.read_excel('C:\\Users\\Downloads\\Practice\\Book1.xlsx',header=0,converters={'General':str})
df

Output

General 10cm 0 1 True False

enter image description here

You can specify it's type using the dtype parameter. Please try with:

df = pd.read_excel('file_path',sheet_name=sheet,skiprows=2,dtype={'General':object})

Try mapping TRUE and FALSE to string object before you parse to excel like this

pd['General'] = pd['General'].map({True: 'True', False: 'False'})

Or you can use replace with the same impact

pd['General'] = pd['General'].replace({True: 'True', False: 'False'})
Related