Я придумал решение для dataframes с произвольным количеством столбцов (в то же время только разделяя записи по одному столбцу за раз).
def splitDataFrameList(df,target_column,separator):
''' df = dataframe to split,
target_column = the column containing the values to split
separator = the symbol used to perform the split
returns: a dataframe with each entry for the target column separated, with each element moved into a new row.
The values in the other columns are duplicated across the newly divided rows.
'''
def splitListToRows(row,row_accumulator,target_column,separator):
split_row = row[target_column].split(separator)
for s in split_row:
new_row = row.to_dict()
new_row[target_column] = s
row_accumulator.append(new_row)
new_rows = []
df.apply(splitListToRows,axis=1,args = (new_rows,target_column,separator))
new_df = pandas.DataFrame(new_rows)
return new_df
Поскольку вы находитесь в Postgres, я полностью изменил дату ():
return sessionFactory.getCurrentSession().
createQuery("FROM Weather WHERE city_id = :id AND date " +
"BETWEEN current_date AND (current_date + (integer :days - 1))").
setInteger("id", city_id).setString("days", days).list();
См. http://www.postgresql.org/docs/8.2/static/functions -datetime.html
return sessionFactory.getCurrentSession().
createQuery("FROM Weather WHERE city_id = :id AND date " +
"BETWEEN cast(now() as date) AND cast(now() as date) + (:days - 1)").
setInteger("id", city_id).setString("days", days).list();
Взгляните на http://www.postgresql.org/docs/8.1/static/sql-createcast.html
Попробуйте использовать бросок. Для меня это работало как прелесть.
У меня просто была эта проблема, мне пришлось использовать броски, поэтому я попробовал кое-что, чтобы заставить ее работать. Оказывается, вы избегаете: в спящем режиме с \
Однако в java для печати \
для начала вам нужно сбежать с помощью \
. Итак, если вы хотите поместить :
в свой запрос hibernate SQL, вы должны записать его так: \\:
И если вы хотите использовать PostgreSQL, например, в моем случае, вы должен был бы, например: field\\:\\:int
, если вы хотите, чтобы какое-то поле было целым.
Вы бежите :
с ::
. Я думаю.
Или попробуйте nativequery
Именованные параметры принимают двоеточие ':' like this Это то, что вы искали?