Ste*_*han 3 python excel zipcode pandas
我正在使用Pandas加载包含邮政编码(例如32771)的Excel电子表格。邮政编码以5位数字的字符串存储在电子表格中。使用命令将它们拉入DataFrame时...
xls = pd.ExcelFile("5-Digit-Zip-Codes.xlsx")
dfz = xls.parse('Zip Codes')
Run Code Online (Sandbox Code Playgroud)
它们被转换成数字。因此,“ 00501”变为501。
所以我的问题是,我该如何:
一种。加载DataFrame并保留存储在Excel文件中的邮政编码的字符串类型?
b。将DataFrame中的数字转换为五位数的字符串,例如“ 501”变成“ 00501”?
解决方法是,您可以使用将int
s 转换为长度为5的0填充字符串Series.str.zfill
:
df['zipcode'] = df['zipcode'].astype(str).str.zfill(5)
Run Code Online (Sandbox Code Playgroud)
演示:
import pandas as pd
df = pd.DataFrame({'zipcode':['00501']})
df.to_excel('/tmp/out.xlsx')
xl = pd.ExcelFile('/tmp/out.xlsx')
df = xl.parse('Sheet1')
df['zipcode'] = df['zipcode'].astype(str).str.zfill(5)
print(df)
Run Code Online (Sandbox Code Playgroud)
产量
zipcode
0 00501
Run Code Online (Sandbox Code Playgroud)
str(my_zip).zfill(5)
Run Code Online (Sandbox Code Playgroud)
或者
print("{0:>05s}".format(str(my_zip)))
Run Code Online (Sandbox Code Playgroud)
是执行此操作的许多方法中的 2 个
归档时间: |
|
查看次数: |
3005 次 |
最近记录: |