본문 바로가기
파이썬

파이썬 pandas read_csv의 구분 기호를 불규칙한 구분 기호에 대해보다 유연한 wrt 공백으로 만드는 방법은 무엇입니까?

by º기록 2021. 1. 25.
반응형

read_csv 메서드를 사용하여 파일에서 데이터를 읽어 데이터 프레임을 만들어야합니다. 그러나 구분 기호는 매우 규칙적이지 않습니다. 일부 열은 탭 ( \ t )으로 구분되고 다른 열은 공백으로 구분됩니다. 또한 일부 열은 2 개 또는 3 개 이상의 공백 또는 공백과 탭의 조합으로 분리 될 수 있습니다 (예 : 공백 3 개, 탭 2 개, 공백 1 개).

팬더에게 이러한 파일을 올바르게 처리하도록 지시하는 방법이 있습니까?

덧붙여서 파이썬을 사용하면이 문제가 없습니다. 나는 사용한다:

for line in file(file_name):
   fld = line.split()

그리고 완벽하게 작동합니다. 필드 사이에 2 개 또는 3 개의 공백이 있는지 상관하지 않습니다. 공백과 탭의 조합도 문제를 일으키지 않습니다. 팬더도 똑같이 할 수 있습니까?

 

해결 방법

 


>>> import pandas as pd
>>> for line in open("whitespace.csv"):
...     print repr(line)
...     
'a\t  b\tc 1 2\n'
'd\t  e\tf 3 4\n'
>>> pd.read_csv("whitespace.csv", header=None, delimiter=r"\s+")
   0  1  2  3  4
0  a  b  c  1  2
1  d  e  f  3  4
>>> pd.read_csv("whitespace.csv", header=None, delim_whitespace=True)
   0  1  2  3  4
0  a  b  c  1  2
1  d  e  f  3  4

 

참조 페이지 https://stackoverflow.com/questions/15026698

 

 

반응형

댓글