Pandas(Excel):如何读取开头为零的完整值?

问题描述 投票:0回答:3

美好的一天。 我有一个包含两列的 Excel 文件。第一列包含 12 个数字。其中一些有前导零。 我尝试在打开文件时指定“dtype=str”,但 Pandas 仍然删除零。我需要这些零(当然是字符串)。如何解决这个问题呢? Excel文件

import pandas as pd
xl_file = 'tmp2.xlsx'
df = pd.read_excel(xl_file, dtype=str)
pd.set_option('display.max.rows', None, 'display.max.columns', None)
print(df)

Output:
        one   two
0    104501  1234
1   1106514  2345
2    124501  3456
3   2015515  4567
4  21765037  5678
5    307547  6789

但是我需要保存前导零,就像它们存在于 Excel 文件中一样:

            one     two
    0   000104501   1234
    1   0001106514  2345
    2   000124501   3456
    3   0002015515  4567
    4   00021765037 5678
    5   000307547   6789
python excel pandas tostring leading-zero
3个回答
4
投票

试试这个,

df=pd.read_excel('1.xlsx', dtype='object')

O/P:

      col1
0      001
1      002
2      003
3  0049920

1
投票

我明白了! 问题出在有 tvelve 零的“Excel 单元格模板”中。但事实上它是一个串细胞。 因此,我在代码中制作了零模板:

df_str = df['one']
for i in df_str:
    print('{0:0>12}'.format(i))

0
投票

pd.read_excel(文件名,dtype =“对象”) => 0011 它适用于 pandas 版本 2.0.3

© www.soinside.com 2019 - 2024. All rights reserved.