반응형
수정할 파일
>>> import os,re
>>> os.getcwd()
'C:\\WINDOWS\\System32'
>>> os.chdir(r'C:\Users\JE\Desktop')
>>> import usecsv
>>> total = usecsv.opencsv('popSeoul.csv') # 이파일도 동일한 위치에 존재
>>> for i in total[:5] :
print(i)
['Gu', 'Korean', 'Foreigner', 'Senior']
['Total', '9,740,398', '285,529', '1,468,146']
['Jongrogu', '151,767', '11,093', '27,394']
['Jongru', '126,409', '10,254', '23,025']
['Yongsangu', '228,830', '16,159', '38,531']
출력결과를 보면 숫자 사이 쉼표가 표시된 것이 보인다.
다음 순서대로 진행하여 쉼표를 제거하자
1. 정규식 불러오기
2. 변경할 원소 찾기
3. 쉼표 지우기
4. 이를 정수형/실수형으로 변경
5. 변경할 수 없다면 그대로 두기
원소 내 쉼표 제거
# 정상적으로 작동하는지 테스트부터 해보자
>>> import re
>>> j = '1,444,000'
>>> re.sub(',','',j)
'1444000'
원소 내 쉼표제거를 위한 필터링 : 알파벳, 한글은 쉼표제거 제외
import re, usecsv
total = usecsv.opencsv('popseoul.csv')
i = total[2]
for j in i :
if re.search('[a-z가-힣]',j) : # j(원소)가 알파벳, 한글이라면 그대로 적재
k.append(j)
else :
k.append(float(re.sub(',','',j))) # 그 외 , 제거하여 적재
'''
출력결과
['Jongrogu', 151767.0, 11093.0, 27394.0]
'''
특수문자(!)와 숫자 섞은 원소 찾기
>>> k = []
>>> for j in i :
if re.search('[a-z가-힣]',j) :
k.append(j)
else :
k.append(j)
>>> k
['Jongrogu', '151,767', '11,093', '27,394']
반응형
'● 인공지능, 분석 > 20.12 생활 프로그래밍' 카테고리의 다른 글
[4. CSV] try except문 활용하기 (0) | 2021.01.11 |
---|---|
[4. CSV] 수정한 요소 새로 적재하기 vs 수정한 요소 덮어쓰기 (0) | 2021.01.11 |
튜플이란? j = 1,444,000이 튜플이 되는 이유? (0) | 2021.01.07 |
[4.csv] (0) | 2021.01.05 |
[4. CSV] CSV 정의 / CSV 함수 만들기 (0) | 2021.01.04 |