

エクセルから読み込んだ数値データをvscode上で表示すると、小数点まで表示される。  
例えば2という値だと、2.0と表示される。こちらを小数点を抜きにしたいと考えています。0001が1.0と表示されるのを0001のまま出力したい。

・エクセルデータの値をそのまま出力したい  
・vscode上の出力[.0]を表示されないようにしたい。  
どちらもExcelの設定の問題であれば、そこもご教授いただければ助かります。

[code]

    import padas as pd
    df=pd.read_excel("check.xlsx",sheet_name="Sheet1")
    for df_ch in df["key"]:
        if str((df_ch)).isdigit():
            print("数字")
        else:
            print("数字ではない")
    
[/code]

上：エクセルデータ  
下：vscode出力画面  
[![Exceldata](https://i.stack.imgur.com/eyL62.png)](https://i.stack.imgur.com/eyL62.png)

[![画像の説明をここに入力](https://i.stack.imgur.com/9vBKJ.png)](https://i.stack.imgur.com/9vBKJ.png)


CC BY-SA 4.0
2022-09-05T07:23:54.420
90937
2022-09-05T08:29:43.390
2022-09-05T08:00:29.957
54115
54115
question
python pandas
エクセルから読み込んだ数値データが形が変わって出力される


Pandas のオプションで書式設定として `.0f` を指定してやればよさそうです。

[code]

    pd.options.display.float_format = '{:.0f}'.format
    
[/code]

**参考:**  
[有効数字（有効桁数）: display.float_format |
pandasの表示設定変更](https://note.nkmk.me/python-pandas-option-display/)


CC BY-SA 4.0
2022-09-05T07:50:30.657
90938
2022-09-05T07:50:30.657
3060
90937
answer


0001が1.0と表示されるのは、取り込み時に`float`型であると自動判別されるのが原因です。  
0001のまま前ゼロを落とさずに出力したいならば、取り込み時に`dtype=str`を指定して文字列として取り込みます。

なお上記の内容については[前回のご質問](https://ja.stackoverflow.com/q/90862)の複数回答で言及されています。  
この回答よりも詳細な解説が多いので、ぜひそちらも読み直していただくことをお勧めします。

**サンプルコード**

[code]

    import pandas as pd
    
    df = pd.read_excel("test.xlsx", dtype=str)
    print(df)
    
[/code]


CC BY-SA 4.0
2022-09-05T08:29:43.390
90939
2022-09-05T08:29:43.390
9820
90937
answer