Spaces:
Running
Running
# text_to_csv_chunks.py | |
import sys | |
import csv | |
def main(): | |
if len(sys.argv) < 2: | |
print("Usage: python text_to_csv_chunks.py <chunk_size>", file=sys.stderr) | |
sys.exit(1) | |
try: | |
chunk_size = int(sys.argv[1]) | |
except ValueError: | |
print("Error: Chunk size must be an integer.", file=sys.stderr) | |
sys.exit(1) | |
# Prepare CSV writer | |
writer = csv.writer(sys.stdout) | |
# Write header | |
writer.writerow(["Chunk", "Text"]) | |
chunk_number = 1 | |
line_buffer = [] | |
line_count = 0 | |
for line in sys.stdin: | |
line_buffer.append(line.rstrip('\n')) | |
line_count += 1 | |
if line_count >= chunk_size: | |
# Join lines and write chunk | |
chunk_text = '\n'.join(line_buffer) | |
writer.writerow([chunk_number, chunk_text]) | |
# Reset | |
chunk_number += 1 | |
line_buffer = [] | |
line_count = 0 | |
# Write any remaining lines | |
if line_buffer: | |
chunk_text = '\n'.join(line_buffer) | |
writer.writerow([chunk_number, chunk_text]) | |
if __name__ == "__main__": | |
main() | |