Excel File에서 파이썬으로 읽어온 데이터를 변경 후 원래 엑셀을 변경하는 방법을 알고 싶습니다.
이번 강의 도전 과제가 주민번호 뒷자리를 * 로 바꿔서 가려보기
였는데 하기와 같이 변경하면 쥬피터 노트북으로 출력은 가능 합니다.
import openpyxl
work_book = openpyxl.load_workbook('data_kr.xlsx')
work_sheet = work_book.active
for each_row in work_sheet.rows:
print(re.sub('-[0-9]{7}', '-*******', each_row[1].value))
work_book.close()
저는 이왕 바꾼 데이터니깐 그걸 다시 원래 Excel에서 넣어서 수정을 하고 싶은데 잘 안되네요
import openpyxl
work_book = openpyxl.load_workbook('data_kr.xlsx')
work_sheet = work_book.active
for each_row in work_sheet.rows:
newdata =[re.sub('-[0-9]{7}', '-*******', each_row[1].value)]
work_sheet.append(newdata)
work_book.save('new.xlsx')
work_book.close()
이렇게 하면
이렇게까지만 되는데 원래 자리에 넣고 싶거든요...
그리고 append를 하면 적어도 A열에 덮어 질줄 알았는데 왜 완전히 다른 행에 써지는지도 모르겠습니다.
답변 3
1
아니시면, 다음 코드를 참고하셔서, 새로 엑셀 파일을 만들어서, 변경한 데이터만 넣어주시면 어떨까해요 감사합니다.
import openpyxl
def write_excel_template(filename, sheetname, listdata):
excel_file = openpyxl.Workbook()
excel_sheet = excel_file.active
if sheetname != '':
excel_sheet.title = sheetname
for item in listdata:
excel_sheet.append(item)
excel_file.save(filename)
excel_file.close()
0
강사님 질문 답변 감사합니다.
취미로 배우기 시작했는데 재밌어서 다른 것들도 다 수강하기 시작했습니다.
문과에 비전공자라 처음에는 어이가 없었는데, 하나씩 따라하다 보니 재밌네요
앞으로도 더 많은 강의 부탁 드립니다.
0
이미 work_sheet 에 기존 파일의 데이터가 있다보니, 그 이후에 써져서 그런것같아요.
새로 엑셀 파일을 만드는 코드를 쓰셔서, Workbook()으로 새로 생성하신 엑셀쉬트에 데이터를 넣으시면 좋을 것 같습니다.
감사합니다.
크롤링, 영상을 따라해도 제미나에게 물어봐도 안되요
0
33
1
정규표현식 및 여러 코드 꼭 외워야 하나요?
0
39
1
리스트 함수형도 정수 데이터 받을 수 있나요?
0
45
1
크롤링 관련 질문
0
64
1
문제 답이 없는 버전은 없나요?
0
74
1
requests, BeautifulSoup 임포트 부분에 대해 문의드립니다.
0
83
1
업데이트 강의
0
97
2
선생님 강의중에서 sqlite3 강의를 제공한 강의가 있나요?
0
123
2
연습용 예제 파일
0
76
1
lxml 관련 오류
0
106
1
SAVE Request 창 띄우는 법
0
92
1
포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다. 2
0
75
1
포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다.
0
97
1
예제 2, 4, 6에 대한 풀이 방식 질문.
0
89
1
문제 파일
0
78
1
pdf 파일 내 코드 복붙시 공백
0
291
1
데이터 저장 강좌 문의 건
0
95
1
" " 와 ' '의 차이를 알고 싶습니다
0
243
1
Exercise 22. 문자열 다루기 (strip)
0
132
1
list함수로 리스트 선언하면 실패하는데 이유는 무엇입니까?
0
187
1
셀 삽입후 바로 기입이 가능합니까?
0
139
2
주피터 노트북 마우스 스크롤? 오류
0
1550
2
등호 2개('==')의 의미가 뭐죠?
0
460
2
페이지가 넘어갈 때 url 변하지 않는 경우
0
266
1





