티스토리 뷰
두개의 엑셀파일을 비교해서 추가된 행만 추출해서 다른이름으로 저장하고 싶다.
예를 들어, 원본.xlsx 파일과 수정파일.xlsx 두개를 비교해서 추가자료.xlsx 파일을 만드는 것이다.
원본.xlsx 파일과 수정파일.xlsx의 A열 거래처 코드를 비교해서 기존의 자료에 있으면 통과, 없으면 추가자료.xlsx에 행을 만드는 방식으로
파이썬 코드로 가능할까?
이런 주제로 인공지능과 씨름해서 얻은 결과를 공유합니다.
쳇GPT 유료버전을 사용했구요~
네, 파이썬을 사용하여 두 개의 엑셀 파일을 비교하고 추가된 행만 추출하여 새로운 파일로 저장할 수 있습니다. 이를 위해 pandas 라이브러리를 사용할 수 있습니다. 아래는 그 작업을 수행하는 코드 예시입니다.
python
코드 복사
import pandas as pd
# 원본 파일과 수정 파일 읽기
original_df = pd.read_excel('원본.xlsx')
modified_df = pd.read_excel('수정파일.xlsx')
# 거래처 코드를 기준으로 추가된 행 추출
new_rows = modified_df[~modified_df['A열 거래처 코드'].isin(original_df['A열 거래처 코드'])]
# 추가된 자료를 새로운 엑셀 파일로 저장
new_rows.to_excel('추가자료.xlsx', index=False)
print("추가된 자료가 '추가자료.xlsx' 파일에 저장되었습니다.")
코드 설명:
pandas 라이브러리를 사용하여 엑셀 파일을 읽습니다.
A열 거래처 코드 열을 기준으로 비교합니다. 수정된 파일에서 원본 파일에 없는 거래처 코드를 가진 행들을 필터링하여 new_rows에 저장합니다.
이 필터링된 결과를 '추가자료.xlsx' 파일로 저장합니다.
실행 방법:
이 코드를 실행하려면 Python이 설치된 환경에서 pandas 라이브러리를 설치해야 합니다. 설치는 아래 명령어로 가능합니다:
import pandas as pd
# 원본 파일과 수정 파일 읽기
original_df = pd.read_excel('원본.xlsx')
modified_df = pd.read_excel('수정파일.xlsx')
# 거래처 코드를 기준으로 추가된 행 추출
new_rows = modified_df[~modified_df['A열 거래처 코드'].isin(original_df['A열 거래처 코드'])]
# 추가된 자료를 새로운 엑셀 파일로 저장
new_rows.to_excel('추가자료.xlsx', index=False)
print("추가된 자료가 '추가자료.xlsx' 파일에 저장되었습니다.")
bash
코드 복사
pip install pandas
코드에서 'A열 거래처 코드' 부분을 실제 엑셀 파일의 거래처 코드 열 이름으로 바꿔주세요. 예를 들어, 열 이름이 "Code"라면 'Code'로 수정합니다.
엑셀 파일들이 같은 디렉토리에 있는지 확인하고, 파일 이름이 올바른지 확인하세요.
이 코드를 실행하면, '추가자료.xlsx' 파일에 추가된 거래처 코드가 있는 행들만 저장됩니다.
'IT tech Coding > python' 카테고리의 다른 글
python 조건문 활용으로 프로그래밍 효율성을 높이는 방법 (0) | 2024.12.05 |
---|---|
[파이썬] 도면 자동작도를 위한 import 정리 (0) | 2024.11.20 |
OSError: [WinError 193] %1은(는) 올바른 Win32 응용 프로그램이 아닙니다 (0) | 2024.08.09 |
global 선언을 수백개 인경우는 어떻게 하면 더 좋을까? (0) | 2024.07.07 |
match-case 문을 이용한 방법 (Python 3.10 이상에서 사용 가능) (0) | 2024.07.04 |
- Total
- Today
- Yesterday
- #textarea #자동높이조절 #ux개선 #웹개발 #프론트엔드 #자바스크립트 #html팁 #웹디자인 #uiux #코딩팁
- 캐드자동작도
- General error: 2031
- 엑셀셀보호
- #웹개발
- #동적ui
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- 엑셀보호
- ajax오류메시지
- 웹제작강의안2주차
- #php에러해결 #php경고메시지 #nonwellformednumeric #php초보자팁 #웹개발에러 #프로그래밍디버깅 #php정규식 #코드디버깅팁 #웹개발문제해결 #php숫자형변환
- 오블완
- json파일편하게보는법
- 구글드라이브API
- 엑셀입력보호
- Bootstrap 5
- 티스토리챌린지
- 도면자동생성
- isset을 적용해야 하는 이유
- #데이터베이스설계
- 자바스크립트 코드 기본지식
- #카테고리트리
- 효율적코딩방법
- json파일형태보기
- 오토핫키가이드
- #계층형데이터
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- #tuigrid #자바스크립트그리드 #행삽입 #행삭제 #웹개발팁 #프론트엔드개발 #javascriptgrid #데이터테이블 #ui개선 #그리드커스터마이징
- #데이터무결성
- #트리구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |