**에 대한
%%time
import pandas as pd
import xlsxwriter as ew
import csv as csv
import os
import glob
import openpyxl
#remove existing files from directory
files = glob.glob(#filename)
for f in files:
os.remove(f)
pendpath = #filename
df = pd.read_sas(pendpath)
allusers = df.UserID_NB.unique()
listuserpath = #filename
listusers = pd.read_csv(listuserpath)
listusers = listusers['USER_ID'].apply(lambda x: str(x).strip())
for id in listusers:
x = df.loc[df['UserID_NB']==id]
path = #filename
x.to_excel(path, sheet_name = str(id), index = False)
from openpyxl import load_workbook
wb = openpyxl.load_workbook(filename = path)
sheet = wb.get_sheet_by_name(str(id))
maxrow = sheet.max_row
from openpyxl.worksheet.datavalidation import DataValidation
dv = DataValidation(type="list", formula1='"Yes,No"', allow_blank=False, showDropDown = True)
rangevar = 'R1:T'+ str(maxrow)
dv.ranges.append(rangevar)
wb.save(path)
print str(id), rangevar
코드 당신은 worksheet
에 dv
을 추가 누락되었습니다. 당신은 루프 내에서 가져 오는 이유
>>> # Add the data-validation object to the worksheet
>>> ws.add_data_validation(dv)
Reread the docs validation
나는 요청할 수 있습니다? –
동일한 파일을 반복적으로 덮어 쓰는 것처럼 보입니다. 나는 당신이 간단한 엑셀 파일과 관련 코드를 시도하는 것이 좋습니다. –
Dmitry - CSV 파일 내의 각 사용자 ID에 대해 개별 Excel 파일을 만듭니다 (일반적으로 모든 고유 사용자 ID를 반복하지만이 요청은 사용자의 하위 집합에 대한 것임). 목록을 반복하는 것이 가장 효율적인 방법 인 것 같습니다. – mdl003