2014-12-17 1 views
3

파이썬은 공백이있는 수식을 받아 들일 수 없습니다.파이썬 수식 다른 시트의 값을 파이썬과 공백이 있음

이 추천

에게 '원본 데이터'시트

sheet.write_merge(0, 0, 5, 8, xlwt.Formula('IF(Original Data!B4<>"",Original Data!B4,"")'), center) 

내가 이것을 사용한다면, 그것은 또한 오류

표시이

sheet.write_merge(0, 0, 5, 8, xlwt.Formula('IF('Original Data'!B4<>"",'Original Data'!B4,"")'), center) 

을 사용하는 경우는 에러를

표시됩니다

sheet.write_merge(0, 0, 5, 8, xlwt.Formula("IF('Original Data'!B4<>"",'Original Data'!B4,"")"), center) 

도 오류

수식을 실행할 수있는 방법이 있습니까? 나는 어떤 제안이라도 시도 할 것이다. 감사합니다

+3

표시되는 오류는 무엇입니까? – ekrah

+0

답안지에 오류를 추가하겠습니다. – lalalala

+1

수식은 셀에 값이있는 경우를 의미합니다. 그런 다음 그 값을 얻습니다. 그렇지 않으면 excel에서 직접 수식을 실행하면 빈 칸으로 두십시오. – lalalala

답변

1

:

sheet.write_merge(0, 0, 5, 8, xlwt.Formula("""IF('Original Data'!B4<>"",'Original Data'!B4,"")"""), center) 

strings, quotes and escaping에 대한 파이썬 문서를 참조하십시오.

+0

고마워요! 그 일 – lalalala

1
sheet.write_merge(0, 0, 5, 8, xlwt.Formula('IF(Original Data!B4<>"",Original Data!B4,"")'), center) 

raise ExcelFormulaParser.FormulaParseException, "can't parse formula " + s 
FormulaParseException: can't parse formula IF(Original data!B3<>"";Original data!B3;"") 

다음 오류

sheet.write_merge(0, 0, 5, 8, xlwt.Formula('IF('Original Data'!B4<>"",'Original Data'!B4,"")'), center) 

오류 enter image description here

다음

sheet.write_merge(0, 0, 5, 8, xlwt.Formula("IF('Original Data'!B4<>"",'Original Data'!B4,"")"), center) 

오류

당신은 문자열에 따옴표를 탈출하거나 다른이 같은 외부 수준에서 삼중 따옴표를 사용하거나 필요
raise ExcelFormulaParser.FormulaParseException, "can't parse formula " + s 
FormulaParseException: can't parse formula IF('Original data'!B3<>;'Original data'!B3;) 
관련 문제