Перейти к содержимому

CSV Column Extractor

Извлеките конкретные столбцы из данных CSV.

Об этом инструменте

Инструмент для извлечения столбцов CSV — это простая утилита для выделения определённых столбцов из CSV-данных (значения, разделённые запятыми). Независимо от того, работаете ли вы с экспортом электронной таблицы, содержащим дюжины полей, но вам нужно только несколько из них, или обрабатываете файлы исходных данных со смешанным содержимым, этот инструмент позволяет вам выбрать ровно те столбцы, которые нужно сохранить, и отбросить остальное. Это особенно полезно при работе с большими наборами данных, где ручное выделение было бы утомительным или подверженным ошибкам.

Чтобы использовать инструмент, вставьте или загрузите ваши CSV-данные, затем укажите, какие столбцы вы хотите извлечь—либо по названиям столбцов (если в вашем CSV есть заголовки), либо по номерам столбцов. Нажмите кнопку извлечения, и инструмент мгновенно генерирует новый CSV, содержащий только выбранные вами столбцы в исходном порядке. Результат можно загрузить или скопировать напрямую, что облегчает подготовку данных для импорта в другую систему, базу данных или инструмент анализа.

Этот инструмент бесценен для аналитиков данных, разработчиков и всех, кто управляет большими наборами данных и нуждается в быстрой очистке, разбиении или реорганизации CSV-файлов. Он работает с различными форматами CSV и сохраняет целостность ваших данных—порядок столбцов, значения и поля в кавычках остаются нетронутыми. Если вы часто работаете с экспортами из баз данных, систем CRM или аналитических платформ, наличие этого инструмента под рукой экономит значительное время и снижает риск ошибок ручного выделения.

Часто задаваемые вопросы

Реализация кода

import csv
import io

def extract_columns(csv_text: str, columns: list[str], delimiter: str = ",") -> str:
    """Extract specific columns from CSV text."""
    reader = csv.DictReader(io.StringIO(csv_text), delimiter=delimiter)
    output = io.StringIO()
    writer = csv.DictWriter(output, fieldnames=columns, delimiter=delimiter,
                            extrasaction="ignore")
    writer.writeheader()
    for row in reader:
        writer.writerow({col: row.get(col, "") for col in columns})
    return output.getvalue()

# Example
csv_data = """name,email,age,city
Alice,alice@example.com,30,Seoul
Bob,bob@example.com,25,Tokyo"""

result = extract_columns(csv_data, ["name", "email"])
print(result)
# name,email
# Alice,alice@example.com
# Bob,bob@example.com

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.