2014-12-17 3 views
3

Python не может принять формулу с пробелом в ней. листФормула python получить значение из другого листа имеют пробел с python

Подобно этому 'исходные данные'

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

, это означает, что в ячейке есть значение. затем получите значение от него. в противном случае оставьте поле пустым – lalalala

ответ

1

Вам нужно либо избежать кавычки в строке, либо использовать тройные кавычки на внешнем уровне, как это:

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

смотрите документацию Python о 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;)