현재 팀 토이 프로젝트를 진행하면서 크롤링한 데이터를 데이터 테이블로 만든 후 CSV 파일로 export한 후 다시 불러와보니 아래 사진과 같은 현상이 발생했다.
사진을 보면 테이블이 밀려 깨진 것들을 볼 수 있다. 내가 찾은 문제점은 총 2개이다
- 기본적으로 csv는 구분자가 , 로 되어있는데 이 테이블의 review부분에 , 이 포함되어 있어서 밀렸다고 생각한다. 나는 pyspark을 사용했기 때문에 이 문제를 해결하는 코드는 다음과 같다.
data_df.coalesce(1).write.option("sep","|")\
.option("header","true")\
.csv('파일경로')
2. review 데이터에 개행문자들이 많이 포함되어 있었던 게 문제가 되었던 것 같다. 이런 문제는 정규표현식을 사용하여 개행 문자를 삭제해주니 저장된 테이블이 정상적으로 불러와졌다. 내가 사용한 코드는 다음과 같다
from pyspark.sql.functions import regexp_replace, col
df=spark_df.withColumn('review', regexp_replace(col('review'), "\n", ""))
알고리즘 문제를 풀 때 정규표현식을 알면 편하다는 것을 알았지만 공부하기를 미뤄왔었다 하지만 전처리시에도 많이 쓰일것 같아서 한번 정리해서 글을 써야겠다고 생각했다. 또한이번 오류를 겪으면서 시간을 또 많이 쓰게 되었는데.. 첫 프로젝트이고 아직 많은 지식이 없기 때문에 더 열심히 공부해야 할것 같다 .
'프로그래밍 > python' 카테고리의 다른 글
[Python] python으로 notion에 글쓰기 (0) | 2023.11.07 |
---|---|
[Python] selenium multiprocessing 병렬 처리 방법 (1) | 2022.08.05 |