728x90
반응형
SMALL
판다스(Pandas) 데이터 다루기
데이터 삽입 / 삭제
구분 | 예시소스 | ||
삽입 | 데이터프레임.append( 행데이터, ignore_index=True) | ||
데이터프레임.loc[행이름]=[행 데이터] | |||
데이터프레임.iloc[index]=[행 데이터] | |||
삭제 | 원본 보존하여 데이터 삭제 |
행삭제 | 변수 = 데이터프레임.drop(index,axis=0 ) #해당 인덱스를 갖는 행삭제. axis의 기본값은 0 |
열삭제 | 변수 = 데이터프레임.drop([‘열이름’],axis=1 ) #해당 인덱스를 갖는 열삭제. axis의 기본값은 0 |
||
원본 바꿀 경우 |
데이터프레임.drop(index,axis=0,inplace=True) |
파일을 통한 데이터 입출력
동작 | 코드예시 | 설명 | 비고 |
파일읽기 | pandas.read_csv(‘파일명’) | 파일이 excel일 경우 pandas.read_excel(‘파일명’) |
− pip install xlrd / 또는 pip install openpyxl 설치 필요 − xlrd install 시 .xls 파일만 가능 |
파일쓰기 | 데이터프레임명.to_csv(‘파일명’, sep=‘구분자’) | 구분자 : “,” “\t” “ “ … |
파일 입출력 예시
1. 엑셀 생성하기
from openpyxl import Workbook
ff = Workbook() # 엑셀파일 쓰기
ss = ff.create_sheet('시트이름') # 시트를 생성
ss = ff.active
ss['A1'] = 'number' # Sheet1에다 입력
ss.append([1,2,3]) #행 단위로 추가
ss.cell(1,2, 'Hello World') #셀 단위로 추가
ff.save("D:/ect/pythonTest/testExcel.xlsx") # 파일명 저장
2. 작성된 엑셀파일 값 불러오기
from openpyxl import load_workbook
# data_only=True로 해줘야 수식이 아닌 값으로 받아옴.
load_ff= load_workbook("D:/ect/pythonTest/testExcel.xlsx", data_only=True)
load_ss = load_ff['Sheet'] # 시트 이름으로 불러오기
print(load_ss['B2'].value) # 셀 주소로 값 출력
print(load_ss.cell(3, 2).value) # 셀 좌표로 값 출력
cc= load_ss['B1' : 'B6'] # 지정한 셀의 값 출력
for row in cc:
for cell in row:
print(cell.value)
3. 동적으로 모든 엑셀 데이터 나타내기
from openpyxl import load_workbook
# data_only=True로 해줘야 수식이 아닌 값으로 받아옴.
load_ff = load_workbook("D:/ect/pythonTest/testExcel.xlsx", data_only=True)
load_ss = load_ff['Sheet'] # 시트 이름으로 불러오기
all_values = [] # 모든 행과 열 출력
for row in load_ss.rows:
row_value = []
for cell in row:
row_value.append(cell.value)
all_values.append(row_value)
print(all_values)
4. 파일을 불러와 새로 데이터 입력하여 다른 이름으로 저장하기
from openpyxl import load_workbook
# data_only=True로 해줘야 수식이 아닌 값으로 받아옴.
load_ff= load_workbook("D:/ect/pythonTest/testExcel.xlsx", data_only=True)
load_ss = load_ff['Sheet'] # 시트 이름으로 불러오기
load_ss.cell(1, 3, 'height')
load_ss.cell(2, 3, 60)
load_ss.cell(3, 3, 65)
load_ss.cell(4, 3, 70)
load_ss.cell(5, 3, 75)
load_ff.save("D:/ect/pythonTest/testExcel2.xlsx")
728x90
반응형
LIST
댓글