2017-01-18 2 views
-1

나는 높거나 낮은 것을 검색했으며 대답을 찾을 수 없습니다.Excel 스프레드 시트에서 생년월일 찾기

상황 : D 열에 생일이 표시된 스프레드 시트가 있습니다. 각 개인의 나이를 계산하고 그 나이를 E 열에 입력하고 싶습니다. 전체 스프레드 시트에서이 작업을 수행 할 수 있기를 원합니다.

import openpyxl as op 
import datetime 

for row in range(2, ws.max_row + 1): 
    ws["D"] = ws["D" + str(row)].value 
    born = datetime.datetime.strptime(ws["D"], "%m/%d/%y") 
    ws["E" + str(row)].value = today.year - born.year - ((today.month, today.day) < (born.month, born.day)) 

내가 그 코드 블록을 실행하려고하면 나는 '때문에, 나는 datetime.datetime.strptime 호출

코드를 참조

`AttributeError: 'tuple' object has no attribute 'value' 

이 시점에서 꽤 지저분 수 여러 가지 일을 시도했는데 일할 수 없습니다.

+0

여기에 파이썬을 사용하는 이유가 있습니까? 엑셀에서'(NOW() - <생일 셀>)/365'을 훨씬 간단하게 처리 할 수 ​​있습니다. – gobrewers14

+0

예. 이것은 긴 프로세스에서 가능한 한 자동화하려고하는 한 걸음입니다. – Tkelly

답변

2

잘못 입력 한 것은 ws["D"] = ws["D" + str(row)].value에 ws의 형식을 변경 한 것입니다. 이 도움이

import openpyxl as op 
import datetime 

for row in range(2, ws.max_row + 1): 
    wsx["D"] = ws["D" + str(row)].value 
    born = datetime.datetime.strptime(wsx["D"], "%m/%d/%y") 
    ws["E" + str(row)].value = today.year - born.year - ((today.month, today.day) < (born.month, born.day)) 

희망을 다음과 같이 당신이 할 수있는 일은이다.

+0

제안 해 주셔서 감사합니다. 그러나 프로그램을 실행할 때 : 'wsx [ "D"] = ws [ "D"+ str (row)]. 값' 'NameError : name 'wsx'is not defined ' – Tkelly

관련 문제