summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2026-03-04 11:02:43 +0100
committerClaudius "keldu" Holeksa <mail@keldu.de>2026-03-04 11:03:01 +0100
commitc4226ba28f0bd783686e6b245f35738dc34cd644 (patch)
treef3c8760173a5d0c5ebd99949119882be3869c2a1 /scripts
parent16700f013886b8d8cb02e322c2d66c00179d9c89 (diff)
downloadlibs-lbm-c4226ba28f0bd783686e6b245f35738dc34cd644.tar.gz
Bit non descript file
Diffstat (limited to 'scripts')
-rw-r--r--scripts/do_stuff37
1 files changed, 37 insertions, 0 deletions
diff --git a/scripts/do_stuff b/scripts/do_stuff
new file mode 100644
index 0000000..6bdbfd7
--- /dev/null
+++ b/scripts/do_stuff
@@ -0,0 +1,37 @@
+#!/usr/bin/env python3
+
+import csv
+import sys
+from itertools import islice
+
+def sum_csv_line(filename, line_number):
+ """Return the sum of a specific line in a CSV file."""
+ try:
+ with open(filename, newline="") as file:
+ reader = csv.reader(file)
+ row = next(islice(reader, line_number - 1, None))
+ # Convert values to float and sum
+ return sum(float(x) for x in row)
+ except StopIteration:
+ raise ValueError(f"Line {line_number} exceeds file length")
+ except ValueError as e:
+ raise ValueError(f"Non-numeric value encountered: {e}")
+
+if __name__ == "__main__":
+ if len(sys.argv) != 3:
+ print("Usage: python script.py <filename> <line_number>")
+ sys.exit(1)
+
+ filename = sys.argv[1]
+ try:
+ line_number = int(sys.argv[2])
+ except ValueError:
+ print("Line number must be an integer.")
+ sys.exit(1)
+
+ try:
+ total = sum_csv_line(filename, line_number)
+ print(f"Sum of line {line_number}: {total}")
+ except Exception as e:
+ print(f"Error: {e}")
+ sys.exit(1)