회고/TIL(매일)

TIL 97일차 : RFM, 딥러닝, xls와 quotechar🦹🏻‍♀️

0sean 2024. 3. 26. 00:23

 

✏️도전한 점


1. 머신러닝 군집화 실습 RFM 학습

2. 딥러닝 이론, 간단 실습 학습

3. 프로젝트 관련 주제회의 (스몰토크에서 아이디어 얻기)

4. html, csv파일을 확장자만 바꿔서 저장한 경우 해결하기

 

01 군집화 실습 RFM, 딥러닝 학습


 

02 xls파일인 척하는 html, csv파일 잡아내기


[꿀팁] read함수가 마음대로 사용이 안된다면 원본 파일은 어떤 형태인지 알아볼 필요가 있다.

 

1. 파일을 확인한다. 문제 없이 열리는 파일은 VSCode에서 열리지 않는데 이건 열린다.
2. 이렇게 파일을 확인하고 xls파일이지만 간단하게 read_html로 불러올 수 있었다.
3. html로 불러온 변수는 list를 담고 있기에 리스트의 0번에 해당하는 데이터프레임을 불러온다.

 

df = pd.read_html(path, encoding='utf8')

 

[꿀팁] 같은 방법으로 아래의 파일 문제도 해결했다. 데이터가 어떤 기준으로 구분되는가?

 

df = pd.read_csv(path, sep='"')

 

어? 안된다. 컬럼명이 ""로 구분되어 있지 않고 마지막에 데이터 행/열 수를 맞춰주지 않아서 에러났다.

 

 

컬럼명은 ""처리, 데이터셋에 필요없는 줄은 삭제한다. (아니면 컬럼1개 덩어리로 나옴!!)

 

 

새로 배운 코드는 quotechar= 인용부호로 감싸인 필드를 식별한다.

 

df = pd.read_csv(path, sep=',', quotechar='"')

 

굿!! 오늘도 코드를 몰라서 손이 고생하지 않기 위해 하나 더 배우고 간다.

손이고=손이 고데기 아니고 손이 고생이다.

 

💡튜터님 첨언 (2024-03-25)

해당 문제의 이유는 모르겠지만 html형식의 파일을 excel로 저장해서 배포한 거 같다. 회사에서 저런 파일을 쓸 일은 없지만 혹시나 저런일이 또 있다면 df = pd.read_html("1_2024_02.xls", encoding='utf8') 이렇게 해서 list로 읽으시고 df = df[0] list 안에 있는 첫번째 내용을 df로 저장하시고, dataframe 으로 활용하시면 될 것 같다.

 

결론: 아래의 코드는 모두 xls파일을 pandas로 불러오는 코드이다.

df = pd.read_csv(path, sep='"')
df = pd.read_html(path, encoding='utf8')

 

✏️인사이트


1. 위와 같이 모든 데이터가 1columns에 몰려있다.

2. 그럼 생각한다. => 쪼개야지!! XXXXXXXXXXX

3. 아니다. 이렇게 생각해야 한다. 왜 저렇게 나왔을까?

4. 그 전의 과정을 고치면 손이 덜 갈 수 있을까?

5. 일일이 노동하는 게임 노가다급 근성 버리기