planner_combine_files.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from collections import defaultdict
  2. from plan_values2 import VALUES2_HEADER
  3. import json
  4. import csv
  5. import re
  6. from pathlib import Path
  7. def combine_file(year, version, timestamp, username):
  8. base_dir = "save/"
  9. data_file = f"data_{year}_{version}_{timestamp}.csv"
  10. data_search = rf"data_{year}_{version}_\d+\.csv"
  11. user_search = rf"user_{username}_\d+\.json"
  12. options_search = rf"options_{year}_{version}_\d+\.json"
  13. struct_search = rf"struct_{year}_{version}_\d+\.json"
  14. file_list = [f.name for f in Path(base_dir).glob("*.*") if f.is_file()]
  15. file_list.sort()
  16. if not Path(base_dir + data_file).exists():
  17. data_files = [f for f in file_list if re.search(data_search, f)]
  18. if len(data_files) > 0:
  19. data_file = data_files[-1]
  20. with open(base_dir + data_file, "r") as frh:
  21. csv_reader = csv.reader(frh, delimiter="\t")
  22. header = next(csv_reader)
  23. values2 = defaultdict(dict)
  24. for row in csv_reader:
  25. id = row.pop(0)
  26. department = row.pop(0)
  27. values2[id][department] = row
  28. print(len(values2.keys()))
  29. if __name__ == "__main__":
  30. combine_file("2023", "V1", "current", "global")