Pandas에서 공백으로 구분 된 값으로 파일을 읽는 방법


답변:


141

delim_whitespace=True인수를 추가하면 정규식보다 빠릅니다.


이를 추가하고 delimiter=' '최신 버전에서 상호 배타적이므로 제거해야합니다 .
matanster

2
@matanster : delimiter=' '매우 부서지기 때문에 하나의 공간 만 기대한다고 말합니다. 탭, 뉴스 라인, 여러 공백, 깨지지 않는 공백, 이들의 조합 등 delimiter='\s+'은 pandas가 권장하고 더 강력합니다.
smci

29

정규식을 구분 기호로 사용할 수 있습니다.

pd.read_csv("whitespace.csv", header=None, delimiter=r"\s+")

2
이것은 구분 기호로 공백 이상이있을 때 도움이됩니다. 현재 버전에서는 engine = "python"경고를 피하기 위해 추가해야합니다 .
Jürg Merlin Spaak

1

허용 된 답변을 사용하여 텍스트 구문 분석을 수행 할 수없는 경우 (예 : 텍스트 파일에 균일하지 않은 행이 포함 된 경우) Python의 csv 라이브러리를 사용해 볼 가치가 있습니다. 다음은 사용자 정의 Dialect 를 사용하는 예제입니다 .

 import csv

 csv.register_dialect('skip_space', skipinitialspace=True)
 with open(my_file, 'r') as f:
      reader=csv.reader(f , delimiter=' ', dialect='skip_space')
      for item in reader:
          print(item)

그건 사실이 아니야. python 3.8 및 pandas에서 작동합니다. 이 질문은 pandas에서 텍스트 파일 읽기를 요청합니다.
Spas

아 죄송합니다. 이에 대한 답변을 업데이트했습니다.
Pierz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.