python 3.7 openpyxl 엑셀 셀 에 데이터 인 스 턴 스 를 기록 합 니 다.
# encoding:utf-8
import pandas as pd
import openpyxl
xl = pd.read_excel(r"E:\55\CRM -10001741-1570416265044.xls")
xl.to_excel(r"E:\55\crms.xlsx")
wk = openpyxl.load_workbook(r"E:\55\crms.xlsx") # excel
wk_name = wk.sheetnames
wk_sheet = wk[wk_name[0]]
wk_sheet.cell(row=2,column=2,value=' ') # , “ ”
wk_sheet.cell(row=2,column=3,value=' ')
wk_sheet.cell(row=2,column=4,value=' ')
wk_sheet.cell(row=2,column=5,value=' ')
wk.save(r"E:\55\s.xlsx")
추가 지식:[openpyxl]python 에서 Excel 을 기록 하고 한 열 또는 한 줄 을 기록 합 니 다.(엑셀 에서 label 과 feature 의 대응 하 는 형식 방법 을 읽 고 한 줄 또는 한 열 을 삽입 하 는 방법 이 실 현 됩 니 다)머리말
최근 expansion of datset 을 만 들 고 있 기 때문에 확 장 된 dataset 를 엑셀 에 기록 해 야 합 니 다.
나 는 이미 행렬 연산 을 모두 끝 냈 고,최종 출력 은 두 개의 출력 labels 와 features 이다.
스스로 다음 과 같은 형식 으로 정리 하 다.
label = [[0],
[1],
[2],
[3]
]
feature = [
[0.1, 0.2, 0.3, 0.4, 0.5],
[0.11, 0.21, 0.31, 0.41, 0.51],
[0.6, 0.7, 0.8, 0.9, 1.00],
[1.1, 1.2, 1.3, 1.4, 1.5],
]
해결 방안먼저 python 이 가 져 온 xlrd xlrd 등 가방 으로 조작 하려 고 했 는데 정말 안 될 것 같 아 요.
생각 을 바 꾸 고 제3자 패키지 openpyxl 로 조작 합 니 다.
pip install openpyxl
공식 문서 여기 있 습 니 다.
https://openpyxl.readthedocs.io/en/stable/index.html
코드
잔말 말고 show you my code
# coding=utf-8
from openpyxl import Workbook
import numpy as np
wb = Workbook()
ws = wb.create_sheet("che")
label = [[0],
[1],
[2],
[3]
]
feature = [
[0.1, 0.2, 0.3, 0.4, 0.5],
[0.11, 0.21, 0.31, 0.41, 0.51],
[0.6, 0.7, 0.8, 0.9, 1.00],
[1.1, 1.2, 1.3, 1.4, 1.5],
]
# numpy numpy ,
label = np.array(label)
feature = np.array(feature)
label_input = []
for l in range(len(label)):
label_input.append(label[l][0])
ws.append(label_input)
for f in range(len(feature[0])):
ws.append(feature[:, f].tolist())
wb.save("chehongshu.xlsx")
결 과 는 excel 을 생 성 합 니 다.마지막 결 과 는 다음 그림 과 같 습 니 다.총결산
openpyxl 가방 은 정말 편리 합 니 다.쓰기 에 있어 서 하나의 LIST 를 만들어 append 를 진행 하면 됩 니 다.엑셀 이 비어 있 으 면 append 는 첫 줄 부터 점점 증가 합 니 다.뉴스.append()작업 은 한 줄 을 기록 하 는 것 과 같 습 니 다.엑셀 이 데이터 가 있 을 때 기록 작업 은 데이터 가 없 는 줄 부터 기록 하 는 것 으로 이해 할 수 있 습 니 다.여기 서도 Insert 를 사용 하려 고 했 는데 하나의 조건 을 무시 했다.즉,insert 는 For example to insert a row at 7(before the existing row 7)이라는 전제 조건 이 있 습 니 다.삽입 하기 전에 데이터 의 크기 가 삽입 할 줄 이나 열 보다 크다 는 뜻 입 니 다.즉,삽입 은 안에 만 꽂 을 수 있 고 가장자리 에 꽂 을 수 없다 는 뜻 입 니 다.
핵심 참조 코드 삽입
for col in range(len(label)):
print col
ws.insert_cols(col+1)
for index, row in enumerate(ws.rows):
#print row
if index == 0:
#row[col+1].value = label[col][0]
print "label"
print label[col]
else:
print "feature"
print feature[col][index-1]
#row[col+1].value = feature[col][index-1]
읽 기 코드
def create_data_expansion(path, sheet):
data_init = pd.read_excel(path, sheet)
# print data_init
data_df = pd.DataFrame(data_init)
print data_df
data_df_transponse = data_df.T
label_expansion = np.array(data_df_transponse.index)
label_expansion_l = []
for l in range(len(label_expansion)):
label_expansion_l.append([l])
feature_expansion = np.array(data_df_transponse)
label_expansion = np.array(label_expansion_l)
return label_expansion, feature_expansion
if __name__ == "__main__":
path_name = "excel_demo.xlsx"
sheet_name = "11"
label, feature = create_data_expansion(path_name, sheet_name)
print label
print feature
결과:이상 의 python 3.7 openpyxl 은 엑셀 셀 에 데이터 인 스 턴 스 를 기록 하 는 것 이 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.여러분 들 도 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CentOS로 Python3.7 환경 구축Linux도 Python도 초보자이지만 CentOS에서 Python3.7의 환경 구축해 보았습니다. Windows에서 Python의 환경은 있습니다만, 다른 PC에서도 환경 만들까~라고 생각한 것이 계기입니다. 어느...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.