python은 3개의 excel을 조작하고 그 중의 데이터를 선별합니다
2758 단어 스크립트
# -*- coding: UTF-8 -*-
import os
import xlrd
import xlwt
import xlwings as xw
root_dir = os.path.abspath('.')
specs_path = root_dir +"\\ .xlsx"
data_path = root_dir +"\\ .xlsx"
rule_path = root_dir +"\\ .xlsx"
write_excel_path = root_dir +"\\test.csv"
# excel workbook( )
data_excel = xlrd.open_workbook(data_path,encoding_override="UTF-8")
rule_excel = xlrd.open_workbook(rule_path,encoding_override="UTF-8")
specs_excel = xlrd.open_workbook(specs_path,encoding_override="UTF-8")
write_excel_book = xw.Book()
data_sheet = data_excel.sheet_by_index(0)
rule_sheet = rule_excel.sheet_by_index(0)
specs_sheet = specs_excel.sheet_by_index(0)
sht= write_excel_book.sheets('sheet1')
#
rule_rows_cols = []
for i in range(rule_sheet.nrows):
cell = rule_sheet.cell(i,0).value
rule_rows_cols.append(cell)
#
specs_rows_cols = []
for i in range(specs_sheet.ncols):
cell = specs_sheet.cell(0,i).value
specs_rows_cols.append(cell)
#
sheet_cols = []
for data_row in range(data_sheet.nrows):#
#
data_rows_cols = []
for data_col in range(data_sheet.ncols):#
data_cell = data_sheet.cell(data_row,data_col).value
if str(data_cell).find('(') != -1:
data_rows_cols.append(data_cell[0:str(data_cell).find('(')])
elif str(data_cell).find('(') != -1:
data_rows_cols.append(data_cell[0:str(data_cell).find('(')])
else:
data_rows_cols.append(data_cell)
#
rule_data = []
rule_cell = data_rows_cols[6]
rule_num = rule_rows_cols.index(rule_cell)
for rule_col in range(rule_sheet.ncols):
rule_cell_data = rule_sheet.cell(rule_num,rule_col).value
if rule_cell_data.find('(') != -1:
rule_data.append(rule_cell_data[0:str(rule_cell_data).find('(')])
elif str(rule_cell_data).find('(') != -1:
rule_data.append(rule_cell_data[0:str(rule_cell_data).find('(')])
else:
rule_data.append(rule_cell_data)
#
sheet_col = []
for i in range(len(specs_rows_cols)):
if i>=7:
if specs_rows_cols[i] not in rule_data:
sheet_col.append('N')
elif specs_rows_cols[i] in data_rows_cols:
sheet_col.append('TBC')
else:
sheet_col.append('Y')
else:
sheet_col.append(specs_rows_cols[i])
sheet_cols.append(sheet_col)
# excel
for each_col in range(len(sheet_cols)):
col = 'A' + str(each_col +1)
sht.range(col).value = sheet_cols[each_col]
write_excel_book.save(write_excel_path)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ServiceNow 서버 측 스크립트 및 클라이언트 스크립트에서 로그 출력버전: KINGSTONE(Developer Instance) ServiceNow의 로그는 서버측 스크립트로부터 출력되는 로그와 클라이언트측 스크립프로부터 출력하는 로그의 2종류가 있다. 각각, 로그를 출력하는 메소드...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.