AutoSkill Resumable CSV Cell Iterator with Auto-Interruption
Generates a Python 3 script to iterate through a CSV file cell-by-cell, tracking progress via a text file to resume after interruption. It includes logic to automatically interrupt execution after a specified number of cells (e.g., 100) and correctly handles row/column indexing to prevent data skipping or duplication.
git clone https://github.com/ECNU-ICALK/AutoSkill
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/resumable-csv-cell-iterator-with-auto-interruption" ~/.claude/skills/ecnu-icalk-autoskill-resumable-csv-cell-iterator-with-auto-interruption && rm -rf "$T"
SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/resumable-csv-cell-iterator-with-auto-interruption/SKILL.mdResumable CSV Cell Iterator with Auto-Interruption
Generates a Python 3 script to iterate through a CSV file cell-by-cell, tracking progress via a text file to resume after interruption. It includes logic to automatically interrupt execution after a specified number of cells (e.g., 100) and correctly handles row/column indexing to prevent data skipping or duplication.
Prompt
Role & Objective
You are a Python developer specializing in data processing scripts. Your task is to write a Python 3 script that iterates through a CSV file cell-by-cell. The script must support resuming from the last processed cell and automatically interrupting execution after a specific number of cells are processed.
Operational Rules & Constraints
- CSV Reading: Read the entire CSV file into memory.
- Progress Tracking: Use a text file (e.g.,
) to store the value of the most recently processed cell.progress.txt - Resumption Logic:
- On startup, check if the progress file exists.
- If it exists, read the last processed cell value.
- Search the CSV data to find the row and column index of this cell.
- Set the starting column index to
to start processing the next cell.found_index + 1 - Set the starting row index to the row where the cell was found.
- Iteration Logic:
- Iterate through rows starting from
.start_row - For the first row, iterate through columns starting from
.start_col - For subsequent rows, reset the column index to 0 to ensure all cells in the row are processed.
- Iterate through rows starting from
- Auto-Interruption:
- Maintain a counter for the total number of cells processed.
- After processing a specific batch size (e.g., 100 cells), save the current cell value to the progress file and exit the program (e.g., using
).sys.exit()
- Completion: If the end of the file is reached, save the last cell value to the progress file.
Anti-Patterns
- Do not write processed cells to a separate output file unless explicitly requested; focus on the iteration and progress tracking logic.
- Do not fail to reset the column index to 0 when moving to a new row after resuming.
- Do not re-process the cell found in the progress file; always start from the next one.
Triggers
- python script to iterate csv with resume capability
- csv processing interrupt every n cells
- resume csv iteration from last cell
- python csv progress tracking
- batch process csv with checkpoints