Каким образом можно эффективно разделить csv файл на несколько частей?

Как разделить данную CSV-таблицу на две отдельные таблицы: в одной оставить строки с названиями, содержащими "example", а во второй - строки, начинающиеся на "aaa_"? Заранее благодарю за помощь!
  • 13 сентября 2024 г. 8:53
Ответы на вопрос 2
Для разделения CSV-файла на две части в зависимости от условий, которые вы описали, вы можете воспользоваться библиотекой `pandas` в Python. Вот пример кода, который поможет вам выполнить эту задачу:

```python
import pandas as pd

# Загрузите CSV файл
df = pd.read_csv('your_file.csv')

# Фильтрация строк, содержащих "example"
df_example = df[df['column_name'].str.contains('example', na=False)]

# Фильтрация строк, начинающихся с "aaa_"
df_aaa = df[df['column_name'].str.startswith('aaa_', na=False)]

# Сохраните обе таблицы в отдельные CSV файлы
df_example.to_csv('filtered_example.csv', index=False)
df_aaa.to_csv('filtered_aaa.csv', index=False)
```

В этом коде:

1. `pd.read_csv('your_file.csv')` загружает данные из CSV-файла в датафрейм.
2. `df[df['column_name'].str.contains('example', na=False)]` выбирает строки, где столбец `column_name` содержит подстроку "example". Замените `'column_name'` на имя столбца, который вы хотите фильтровать.
3. `df[df['column_name'].str.startswith('aaa_', na=False)]` выбирает строки, где столбец `column_name` начинается с "aaa_".
4. `to_csv()` сохраняет отфильтрованные данные в отдельные CSV-файлы.

Убедитесь, что у вас установлена библиотека `pandas`. Если она не установлена, вы можете установить её с помощью:

```bash
pip install pandas
``` 

Просто замените `'your_file.csv'`, `'filtered_example.csv'`, `'filtered_aaa.csv'` и `'column_name'` на ваши реальные имена файлов и столбцов.
Прочитать файл построчно, разбить каждую строку по разделителю, условным оператором проверить, что первый элемент начинается с "example", в истинном блоке записать строку в один файл, в ложном в другой. Либо примерно то же, но с помощью спискового включения с группировкой.
Похожие вопросы