Код: Выделить всё
import polars as pl
from xml.sax.saxutils import escape
table_raw = pl.read_sql("""SELECT * FROM mytable""", engine).lazy()
table = table_raw.select([
pl.concat_str([
pl.lit('''''').alias('Overall_XML_header'),
pl
.when(pl.col('value') != None).then(pl.format('''{}''', escape(pl.col('value'))))
.otherwise(pl.lit(''))
.alias('value'),
pl.lit('''''')
])
])
Я был можно заставить работать следующее, выполнив .replace() зарезервированных символов, но это беспорядочно и громоздко, поэтому мы надеемся, что есть лучший способ справиться с ситуацией.
Код: Выделить всё
import polars as pl
from xml.sax.saxutils import escape
table_raw = pl.read_sql("""SELECT * FROM mytable""", engine).lazy()
table = table_raw.select([
pl.concat_str([
pl.lit('''''').alias('Overall_XML_header'),
pl
.when(pl.col('value') != None).then(pl.format('''{}''', pl.col('value').str.replace('&', '&').str.replace('', '>').str.replace("\"", """).str.replace("'", "'"))))
.otherwise(pl.lit(''))
.alias('value'),
pl.lit('''''')
])
])
Подробнее здесь: https://stackoverflow.com/questions/744 ... hon-polars