rename_columns
Rename multiple columns in a CSV dataframe using a mapping dictionary. Specify old and new column names to update your data structure.
Instructions
Rename columns in the dataframe.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| mapping | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- Core handler function that validates column existence, uses pandas df.rename() to rename columns, records the operation, and returns success/failure response.
async def rename_columns( session_id: str, mapping: dict[str, str], ctx: Context = None ) -> dict[str, Any]: """ Rename columns in the dataframe. Args: session_id: Session identifier mapping: Dict mapping old column names to new names ctx: FastMCP context Returns: Dict with success status and renamed columns """ try: manager = get_session_manager() session = manager.get_session(session_id) if not session or session.df is None: return {"success": False, "error": "Invalid session or no data loaded"} df = session.df # Validate columns exist missing_cols = [col for col in mapping if col not in df.columns] if missing_cols: return {"success": False, "error": f"Columns not found: {missing_cols}"} session.df = df.rename(columns=mapping) session.record_operation(OperationType.RENAME, {"mapping": mapping}) return {"success": True, "renamed": mapping, "columns": session.df.columns.tolist()} except Exception as e: logger.error(f"Error renaming columns: {e!s}") return {"success": False, "error": str(e)} - src/csv_editor/server.py:219-224 (registration)MCP tool registration via @mcp.tool decorator that delegates to the actual handler in transformations.py.
@mcp.tool async def rename_columns( session_id: str, mapping: dict[str, str], ctx: Context = None ) -> dict[str, Any]: """Rename columns in the dataframe.""" return await _rename_columns(session_id, mapping, ctx) - src/csv_editor/server.py:191-191 (registration)Import of rename_columns handler from transformations module, aliased as _rename_columns.
from .tools.transformations import rename_columns as _rename_columns - OperationType enum defining RENAME as a supported operation type for session history tracking.
class OperationType(str, Enum): """Types of operations that can be performed.""" LOAD = "load" FILTER = "filter" SORT = "sort" TRANSFORM = "transform" AGGREGATE = "aggregate" EXPORT = "export" ANALYZE = "analyze" UPDATE_COLUMN = "update_column" ADD_COLUMN = "add_column" REMOVE_COLUMN = "remove_column" RENAME = "rename" - src/csv_editor/server.py:73-79 (registration)Tool listed in server capabilities under 'data_manipulation'.
"rename_columns", "add_column", "remove_columns", "change_column_type", "fill_missing_values", "remove_duplicates", ],