🛠️ToolsShed

CSV Column Extractor

Extract specific columns from CSV data.

Frequently Asked Questions

Code Implementation

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.