티스토리 뷰
두개의 엑셀파일을 비교해서 추가된 행만 추출해서 다른이름으로 저장하고 싶다.
예를 들어, 원본.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
- 효율적코딩방법
- General error: 2031
- 티스토리챌린지
- 오블완
- 엑셀셀보호
- 오토핫키가이드
- 구글드라이브API
- 테크에능한여성
- json파일형태보기
- chatGPT3.5파이썬버전
- #InnoSetup
- 뫄프로그래밍
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- 스크립트작성기초
- ajax오류메시지
- 프로그래머생활
- json파일편하게보는법
- isset을 적용해야 하는 이유
- sql문장 날짜계산
- #InstallForge
- 파이썬코드줄바꿈방법
- #NSIS
- Bootstrap 5
- #프로그램설치
- #파이썬패키징
- 엑셀보호
- 엑셀입력보호
- 코딩튜토리얼
- 코딩효율성
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |