25

I currently have code that reads in an Excel table (image below):

# Read in zipcode input file

us_zips = pd.read_excel("Zipcode.xls")
us_zips

enter image description here

I use the following code to convert the dataframe zip codes into a list:

us_zips = list(us_zips.values.flatten())

When I print us_zips it looks like this:

[10601, 60047, 50301, 10606]

...but I want it to look like this ["10601", "60047", "50301", "10606"]

How can I do that? *Any help is greatly appreciated

3 Answers 3

30

You can just cast the column dtype using astype(str) and then convert to list using .values.tolist(), this returns a numpy array using .values which has a member function to convert this to a list:

In [321]:
us_zips['zipcode'].astype(str).values.tolist()

Out[321]:
['10601', '60047', '50301', '10606']
Sign up to request clarification or add additional context in comments.

Comments

10

It worked for me without .values():

list = df[col_name].astype(str).tolist()

Comments

0

After creating your list you can simply do the following to convert all your list elements to strings:

us_zips = [str(i) for i in us_zips]

Complete code:

df = pd.DataFrame()
df["x"] = [10601, 60047, 50301, 10606]
us_zips = list(df["x"].values.flatten())
print(us_zips)
us_zips = [str(i) for i in us_zips]
print(us_zips)

Results:

[10601, 60047, 50301, 10606]
['10601', '60047', '50301', '10606']

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.