在 Python 3 和 Pandas 中,我有一个带有代码的列 cpf 的数据框

candidatos_2014.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 26245 entries, 0 to 1063
Data columns (total 7 columns):
uf                 26245 non-null object
cargo              26245 non-null object
nome_completo      26245 non-null object
cpf                26245 non-null object
nome_urna          26245 non-null object
partido_eleicao    26245 non-null object
situacao           26245 non-null object
dtypes: object(7)
memory usage: 1.6+ MB

代码是这样的数字:“00229379273”、“84274662268”、“09681949153”、“53135636534”……

我保存为 CSV
candidatos_2014.to_csv('candidatos_2014.csv')

我使用 Ubuntu 和 LibreOffice。但是当我打开文件时, cpf 列没有显示前导零:
"229379273", "9681949153"

请问,有没有办法在只有数字的列中保存左侧为零的CSV?

最佳答案

读取 csv 文件时将 dtype 指定为字符串,如下所示:

# if you are reading data with leading zeros
candidatos_2014 = pd.read_csv('candidatos_2014.csv', dtype ='str')

或将数据列转换为字符串
# if data is generated in python you can convert column into string first
candidatos_2014['cpf'] = candidatos_2014['cpf'].astype('str')
candidatos_2014.to_csv('candidatos_2014.csv')

关于python - 如何从数据框中保存 CSV,以在带有数字的列中保留零?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48903008/

10-12 18:26