Прописать условие для пропуска строки в csv

import pandas as pd

price_from = 15000
price_to = 20000
qry = "@price_from <= `цена` <= @price_to and 'есть доставка' in `доставка`"


(pd
 .read_csv('data_file.csv', sep=';')
 .query(qry).sort_values('цена', ascending=False)
 .to_csv('new-data.csv', sep=';', index=False))

Как пропустить перед обработкой строки в которых ячейка в колонке "цена" не является class 'int', чтобы корректно обработался и сохранился файл


Ответы (1 шт):

Автор решения: MaxU

Попробуйте так:

df = pd.read_csv('data_file.csv', sep=';')
df['цена'] = pd.to_numeric(df['цена'], errors= 'coerce')

df = df.dropna(subset=['цена'])
df['цена'] = df['цена'].astype(int)

(df
 .query(qry)
 .sort_values('цена', ascending=False)
 .to_csv('new-data.csv', sep=';', index=False))
→ Ссылка