Python:如何使用 dataframe.to_csv 保留前导零[重复]

2024-01-08

从txt文件读取数据后,有一个数据框(df1)如下所示:

 name   l1     l2
  a    00000  00000 
  b    00010  00002
  c    00000  01218

当我使用Python代码时,如下所示:

dataframe.to_csv('test.csv', index= False)

然后我用下面的代码来读取:

  df = pd.read_csv('test.csv')

我发现数据框是 df2 如下

       name   l1      l2
        a      0       0
        b     10       2
        c      0      1218

但我想像 df1 一样保留数据帧中的前导零。

Thanks!


前导零被删除,因为 Pandas 隐式地将值转换为整数类型。您想要以字符串类型读取数据,可以通过指定来完成dtype=str:

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

更新,因为它可以帮助其他人:

To have 大多数或选择性列作为 str,可以这样做:

# lst of column names which needs to be string
lst_str_cols = ['prefix', 'serial']
# use dictionary comprehension to make dict of dtypes
dict_dtypes = {x : 'str'  for x in lst_str_cols}
# use dict on dtypes
pd.read_csv('sample.csv', dtype=dict_dtypes)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:如何使用 dataframe.to_csv 保留前导零[重复] 的相关文章

随机推荐