chore: init
This commit is contained in:
commit
edb31d2d31
13 changed files with 531 additions and 0 deletions
55
fix_all_csvs.py
Normal file
55
fix_all_csvs.py
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
#!/usr/bin/env python3
|
||||
"""Read each frame CSV, apply heuristic fixes, overwrite in place."""
|
||||
import csv
|
||||
import os
|
||||
import sys
|
||||
|
||||
from clean_csv_heuristics import fix_extensao_from_km, fix_row
|
||||
|
||||
|
||||
def read_csv(path):
|
||||
with open(path, newline="", encoding="utf-8") as f:
|
||||
return list(csv.reader(f))
|
||||
|
||||
|
||||
def write_csv(path, rows):
|
||||
with open(path, "w", newline="", encoding="utf-8") as f:
|
||||
csv.writer(f).writerows(rows)
|
||||
|
||||
|
||||
def fix_csv(path, num_cols=6):
|
||||
rows = read_csv(path)
|
||||
fixed = []
|
||||
for row in rows:
|
||||
if not row:
|
||||
fixed.append(row)
|
||||
continue
|
||||
r = fix_row(row, num_cols)
|
||||
r = fix_extensao_from_km(r)
|
||||
fixed.append(r)
|
||||
write_csv(path, fixed)
|
||||
return len(fixed)
|
||||
|
||||
|
||||
def fix_dir(frames_dir, num_cols=6):
|
||||
count = 0
|
||||
for name in sorted(os.listdir(frames_dir)):
|
||||
if not name.endswith(".csv"):
|
||||
continue
|
||||
path = os.path.join(frames_dir, name)
|
||||
try:
|
||||
n = fix_csv(path, num_cols)
|
||||
count += 1
|
||||
except Exception as e:
|
||||
print(f"{name}: {e}", file=sys.stderr)
|
||||
return count
|
||||
|
||||
|
||||
def main():
|
||||
frames_dir = sys.argv[1] if len(sys.argv) > 1 else "frames"
|
||||
n = fix_dir(frames_dir)
|
||||
print(f"Fixed {n} CSVs in {frames_dir}/")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue