跳到内容
🛠️ToolsShed

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.