rename_columns
Change column names in CSV files by specifying a mapping. Simplifies data manipulation and ensures accurate column references in datasets.
Instructions
Rename columns in the dataframe.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mapping | Yes | ||
| session_id | Yes |
Implementation Reference
- The core handler function that executes the rename_columns tool logic: validates columns, renames using pandas DataFrame.rename(), records the operation in session history, and returns success status with updated columns.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.keys() 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: {str(e)}") return {"success": False, "error": str(e)}
- src/csv_editor/server.py:229-236 (registration)The @mcp.tool decorator registration of the rename_columns tool, which wraps and delegates to the core implementation 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:188-199 (helper)Import of the rename_columns implementation (as _rename_columns) from transformations.py for use in the server.py tool wrappers.from .tools.transformations import ( filter_rows as _filter_rows, sort_data as _sort_data, select_columns as _select_columns, rename_columns as _rename_columns, add_column as _add_column, remove_columns as _remove_columns, change_column_type as _change_column_type, fill_missing_values as _fill_missing_values, remove_duplicates as _remove_duplicates, update_column as _update_column )