This repository has been archived on 2025-07-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
fsad/assignment3-databases/csv-to-sql.py
AKP 51d1c5fbb5
Add assignment3 stuff
Signed-off-by: AKP <tom@tdpain.net>
2023-04-22 13:42:42 +01:00

25 lines
903 B
Python

#!/usr/bin/env python3
import os
import sys
INPUT_DIRECTORY = sys.argv[1]
files_to_read = [x for x in os.listdir(INPUT_DIRECTORY) if not os.path.isdir(os.path.join(INPUT_DIRECTORY, x))]
for filename in files_to_read:
db_name = filename[:-4] if filename.lower().endswith(".csv") else filename
values = []
with open(os.path.join(INPUT_DIRECTORY, filename)) as f:
for line in f.readlines()[1:]:
line = line.strip()
parts = list(map(lambda x: x.strip(), line.split(",")))
for i, part in enumerate(parts):
if not (part.isnumeric() or (part.startswith("'") and part.endswith("'"))):
part = f"'{part}'"
parts[i] = part
values.append(", ".join(parts))
values = map(lambda x: f"({x.strip()})", values)
print(f"INSERT INTO {db_name} VALUES {', '.join(values)};")