Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 여름게임
- 스팀
- 게임 트렌드
- 프로그래밍
- 추억의 게임
- 넷마블
- 컴투스 신작
- 메이플 여름 쇼케이스
- 뉴맞고
- 메이플
- 윈폼
- 김창섭
- 설문조사 결과산출
- 신의탑 게임
- 넥슨
- 파이썬 오류
- ToyProject
- NC
- 메이플스토리
- 컴투스
- 신의탑
- c#
- 코딩
- 모바일게임
- 스팀 할인
- 신창섭
- 메이플 쇼케이스
- 게임
- 스팀세일
- 게임신작
Archives
- Today
- Total
JY Tech
[파이썬] raise KeyError(key) from err 본문
오늘은 조금 멍청한 실수...를 하는과정에서 알게 된 사실이다.
복약과 관련된 프로그램을 만들어보려고 의약품안전나라에서 제공하는 의약품 낱알식별 파일을 받았다
이런식으로 표가 구성 돼 있고 F열의 사진을 저장하고 B열의 이름을 적용하는 작업을 하는데
for index, row in df.iterrows():
link = row['F'] # F 열에 있는 링크
image_name = row['B'] # B 열에 있는 이미지 이름
이런식으로 코드를 짰다. 그랬더니
raise KeyError(key) from err KeyError: 'F'
이런 오류가 떴다.
해당 오류의 원인은 F열에 대한 키를 찾을 수 없어서 발생하는 것인데 한마디로 열 이름이 잘못됐다는 소리다.
아무리 생각해도 B열과 F열에 대한 값인데 뭐지 싶어서 여기저기 뒤지다가
열 이름을 찾는 방법을 발견했다.
import pandas as pd
# 엑셀 파일 경로
excel_file_path = '파일명.xlsx'
# 엑셀 파일 읽기
df = pd.read_excel(excel_file_path)
# 모든 열의 이름 출력
print(df.columns)
이런식으로
print(df.colunms)를 해주면 열 이름이 뜬다.
알고보니 B열 F열이 아닌 '품목명'열 '큰제품이미지'열 이였던 것이다...
CSV나 Excel 파일을 읽을 때 첫번째 행과 열은 이름을 포함하고 있다.
(사실 당연한 것이다.. 사람의 입장에서야 어디서부터가 데이터의 시작점인지 알지만 컴퓨터는 그냥 정해진대로 B의 첫번째부터 돌았을 뿐이다)
파이썬으로 엑셀을 읽어올 때 참고하면 될 것 같다.
'Programming > Error Solution' 카테고리의 다른 글
[Android] unable to instantiate activity componentinfo (0) | 2024.02.21 |
---|---|
[안드로이드]findViewById오류 (0) | 2023.12.09 |
[파이썬]xlrd.biffh.XLRDError(xlrd오류) (1) | 2023.11.10 |
[C#/윈폼]"도구상자 항목 '###'을(를) 로드하지 못했습니다. 해당 항목은 도구상자에서 제거됩니다. (0) | 2023.04.30 |
[파이썬,sqlite] incorrect number of bindings supplied. the current statement uses 1 and there are 3 supplied (0) | 2023.04.21 |