I'm trying to read the excel worksheet to DataFrame using pd.read_excel() function. I want to check if each element in the FX column contains 2 decimals and are displayed with 2 decimals. Actually all elements in the FX Rate column have 2 decimals, but some of them are displayed with no decimal.

I tried to use the following command to transfer the data type of FX column to str.
fx_forward = pd.read_excel(io = file_path, sheet_name = "FX Rate", dtype = {"FX Rate" :str})
I expect to get a DataFrame looks like this:

However, I get a DataFrame whose FX Rate are all "1".

What should I do to get the expected DataFrame?
I guess the reason for that is that you are declaring the dtype as
strand the values do not actualy holds the decimals, and excel just shows them.I've created an excel similar to the one you mentioned and have the results with 2 decimal points as follows
The results: