File size: 1,110 Bytes
f52daa3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# 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()