結論
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のデータを扱う場合は、今回のように考慮する必要がある。