'How do I print out the Phone number from a csv with padded 0 using pandas?

So I have a CSV file with the following content:

Person,Phone
One,08001111111
Two,08002222222
Three,08003333333

When I used the following code:

import pandas as pd
df = pd.read_csv('test_stuff.csv')
print(df)

It prints out:

  Person       Phone
0    One  8001111111
1    Two  8002222222
2  Three  8003333333

It removed the starting 0 from the Phone column. I then tried to add the phone as string in the csv file, like so:

Person,Phone
One,'08001111111'
Two,'08002222222'
Three,'08003333333'

However, the result is now this:

  Person          Phone
0    One  '08001111111'
1    Two  '08002222222'
2  Three  '08003333333'

What can I do to resolve this? I am hoping for a result like this:

  Person        Phone
0    One  08001111111
1    Two  08002222222
2  Three  08003333333

Thanks in advance.



Solution 1:[1]

Don't try to add the zeros back, just don't delete them in the first place by telling pandas.read_csv that you column is a string:

pd.read_csv('test_stuff.csv', dtype={'Phone': 'str'})

output:

  Person        Phone
0    One  08001111111
1    Two  08002222222
2  Three  08003333333

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 mozway