gpt4 book ai didi

python - 使用 Pandas 读取 CSV 时如何在列中保持前导零?

转载 作者:IT老高 更新时间:2023-10-28 21:45:06 28 4
gpt4 key购买 nike

我正在使用 read_csv 将研究数据导入 Pandas 数据框。

我的主题代码是 6 个数字编码,其中包括出生日期。对于我的一些科目,这会导致代码带有前导零(例如“010816”)。

当我导入 Pandas 时,前导零被去除,列格式为 int64

有没有办法将该列原封不动地导入为字符串?

我尝试为该列使用自定义转换器,但它不起作用 - 似乎自定义转换发生在 Pandas 转换为 int 之前。

最佳答案

this answer 中所示由 Lev Landau , 可以有一个简单的解决方案来为 read_csv 中的某个列使用 converters 选项功能。

converters={'column_name': str}

假设我有 csv 文件 projects.csv,如下所示:

project_name,project_id
Some Project,000245
Another Project,000478

例如下面的代码正在修剪前导零:

from pandas import read_csv

dataframe = read_csv('projects.csv')
print dataframe

结果:

      project_name  project_id
0 Some Project 245
1 Another Project 478

解决方案代码示例:

from pandas import read_csv

dataframe = read_csv('projects.csv', converters={'project_id': str})
print dataframe

要求的结果:

      project_name project_id
0 Some Project 000245
1 Another Project 000478

所有列设为str:

pd.read_csv('sample.csv', dtype=str)

某些列作为str:

# column names which need to be string
lst_str_cols = ['prefix', 'serial']
dict_dtypes = {x: 'str' for x in lst_str_cols}
pd.read_csv('sample.csv', dtype=dict_dtypes)

关于python - 使用 Pandas 读取 CSV 时如何在列中保持前导零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13250046/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com