LoginSignup
1
1

More than 1 year has passed since last update.

pandasを使用してCSVを読み込むとデータの先頭0が無くなった

Last updated at Posted at 2022-04-19

結論

dtype=strを追加してあげましょう

test.py
import pandas as pd
df = pd.read_csv('test.csv',dtype=str,header=None)
print(df)

結果

      0  1    2
0  user1  1  001
1  user2  2  011
2  user3  3  100

なぜ0が無くなるのか

pandasを使用してCSVをデータフレーム型に格納する場合、dtypeを設定せずにいると、勝手に型を判別されてしまう。

サンプルコード

今回読み込むCSVファイル

test.csv
"user1","1","001"
"user2","2","011"
"user3","3","100"

先頭の0が消えてしまうコード
ちなみに今回のようなヘッダーなしCSVを読み込む際には「header=None」を指定しないと、先頭の行がヘッダーとして使用されてしまう。

test.py
import pandas as pd
df = pd.read_csv('test.csv',header=None)
print(df)

結果

       0  1    2
0  user1  1    1
1  user2  2   11
2  user3  3  100

まとめ

dtype=strは、いったん全部文字列型で受け取ろうという設定なので先頭が0のデータを扱う場合は、今回のように考慮する必要がある。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1