При преобразовании из формата csv в json с помощью функции `to_json` в pandas, пропадает первая строка, потому что в функции `readCsv` используется метод `df[df.name.str.contains(search, regex=True, flags=re.IGNORECASE)]` для фильтрации данных по определенному критерию.
Этот метод возвращает только строки, в которых значение столбца "name" содержит указанную строку. В результате, если первая строка не удовлетворяет условию фильтрации, она не будет включена в итоговый результат.
Для исправления этой проблемы можно изменить метод фильтрации данных, чтобы он включал первую строку. Например, можно изменить метод `readCsv` следующим образом:
```python
def readCsv(option, search):
df = pd.read_csv(f'{option}.csv')
df.columns = ["name", "image", "link", "price", "discount"]
res = df[df.name.str.contains(search, regex=True, flags=re.IGNORECASE) | (df.index == 0)]
res['name'] = df['name'].str.partition('[')[0]
return res.sort_values(by='price', ascending=True)
```
В этом случае, если первая строка не удовлетворяет условию фильтрации, она будет включена в итоговый результат.