python pandas read_csv, read_txt 0으로 시작하는 데이터 0 사라질 때

hyereen·2022년 8월 5일
0

파이썬에서 숫자 0으로 시작하는 데이터를 가진 csv 또는 txt 파일을 열어야 하는 경우가 많았다. 특히 고객번호나 핸드폰 번호가 그럴 수 있다.

예를 들어 고객 번호가 5자리인 경우, 파이썬에서 read_csv나 read_txt로 불러오면 0이 사라져있다.

  • 윈도우 기본 메모장으로 csv(또는 txt) 열었을 때
customer_number
00001
00002
00003
00004
00005
  • python pandas 이용해서 데이터프레임으로 확인했을 때
customer_number
1
2
3
4
5

메모장으로 열면 앞에 0000이 다 있는건 맞으니까 이게 에러라고 볼 수는 없지만... 그러나 다른 데이터와 join할 경우, 원하는 목적대로 되지 않을 수 있다.

test1은 customer_number를 object(string) 타입으로 인식하고 있고,
test2는customer_number를 int 타입으로 인식하고 있다.

해결 방법

test = pd.read_table('./test.txt',sep=',', dtype={x : 'str'  for x in ['customer_number']})

컬럼의 타입을 명시해주고 열면 된다! 대괄호 안에 여러 개의 컬럼명을 추가할 수 있다.

header 없을 때

추가적으로, 데이터에 header가 없는 경우는 컬럼명을 0으로 대신 주면 된다.

test = pd.read_table('./test.txt',sep=',', header=None, dtype={x : 'str'  for x in [0]})

profile
안녕하세요. 피드백은 언제나 감사합니다.

0개의 댓글