Код: Выделить всё
df = pl.DataFrame({'schema_name': ['test_schema', 'test_schema_2'],
'table_name': ['test_table', 'test_table_2'],
'column_name': ['test_column, test_column_2','test_column']})
имя_схемы
имя_таблицы
имя_столбца
test_schema
test_table
test_column, test_column_2
test_schema_2
test_table_2
test_column
У меня есть строка:
Код: Выделить всё
date_field_value_max_query = '''
select '{0}' as schema_name,
'{1}' as table_name,
greatest({2})
from {0}.{1}
group by 1, 2
'''
имя_схемы
имя_таблицы
имя_столбца
запрос
test_schema
test_table
test_column, test_column_2
выберите test_schema, test_table, наибольший(test_column, test_column_2) из группы test_schema.test_table на 1, 2
test_schema_2
test_table_2
test_column
выбрать test_schema_2, test_table_2, наибольшее(test_column) из группы test_schema_2.test_table_2 на 1, 2
В пандах я бы сделал что-то вроде этого:
Код: Выделить всё
df.apply(lambda row: date_field_value_max_query.format(row['schema_name'], row['table_name'], row['column_name']), axis=1)
Код: Выделить всё
df.map_rows(lambda row: date_field_value_max_query.format(row[0], row[1], row[2]))
Как выполнить форматирование строк для нескольких столбцов фрейма данных, при этом выходной столбец прикреплен к исходному фрейму данных?
Подробнее здесь: https://stackoverflow.com/questions/751 ... formatting