#!/usr/bin/env python3 # build-aux/csv2xls - Convert a UTF-8 CSV to XLS # # Copyright (C) 2025 Luke T. Shumaker # SPDX-License-Identifier: AGPL-3.0-or-later import csv import sys import typing import xlwt def main(worksheet_name: str, infile: typing.TextIO, outfile: typing.BinaryIO) -> None: wb = xlwt.Workbook(encoding="utf-8") ws = wb.add_sheet(worksheet_name) r = csv.reader(infile) for rownum, row in enumerate(r): for colnum, cellcontent in enumerate(row): ws.write(rownum, colnum, cellcontent) wb.save(outfile) if __name__ == "__main__": if len(sys.argv) != 2: print( f"Usage: {sys.argv[0]} WORKSHEET_NAME OUTFILE.xls", file=sys.stderr, ) sys.exit(2) main(sys.argv[1], sys.stdin, sys.stdout.buffer)