Как я могу разбить большой CSV-файл на маленькие файлы на основе общих записей Python

Что я хочу сделать:

Я хочу, чтобы у меня был большой файл .csv. Я хочу разбить этот большой CSV-файл на множество маленьких файлов на основе общих записей в столбце BB, которые содержат 1 в столбце HH, и всех необычных записей, содержащих 0 в столбце HH.

В результате все файлы будут содержать общие записи в столбце BB, которые содержат 1 в столбце HH, и все необычные записи, которые не имеют записей в столбце BB и содержат 0 в столбце HH. Имя файла должно основываться на общей записи столбца 2 (BB). Пожалуйста, посмотрите ниже на сценарий. Любая идея предложения высоко ценится.

bigFile.csv:

   AA      BB      CC       DD     EE      FF    GG      HH
   12      53     115       10     3       3     186     1
   12      53     01e       23     3       2             1
   12      53     0ce       65     1       3             1
   12      53     173       73     4       2             1
   12      59     115       0      3       3     186     1
   12      59     125       0      3       3     186     1
   12      61     01e       23     3       2             1
   12      61     b6f       0      1       1             1
   12      61     b1b       0      6       5     960     1
   12             68b       95     3       5     334     0
   12             31a       31     2       2             0
   12             221       0      4       5             0
   12             12b       25     5       4     215     0
   12             a10       36     5       1             0      

Мои ожидаемые результаты будут такими:

53.csv:

   AA      BB      CC       DD     EE      FF    GG      HH
   12      53     115       10     3       3     186     1
   12      53     01e       23     3       2             1
   12      53     0ce       65     1       3             1
   12      53     173       73     4       2             1
   12             68b       95     3       5     334     0
   12             31a       31     2       2             0
   12             221       0      4       5             0
   12             12b       25     5       4     215     0
   12             a10       36     5       1             0      

59.csv:

   AA      BB      CC       DD     EE      FF    GG      HH
   12      59     115       0      3       3     186     1
   12      59     125       0      3       3     186     1
   12             68b       95     3       5     334     0
   12             31a       31     2       2             0
   12             221       0      4       5             0
   12             12b       25     5       4     215     0
   12             a10       36     5       1             0      

61.csv:

   AA      BB      CC       DD     EE      FF    GG      HH
   12      61     01e       23     3       2             1
   12      61     b6f       0      1       1             1
   12      61     b1b       0      6       5    960      1
   12             68b       95     3       5    334      0
   12             31a       31     2       2             0
   12             221       0      4       5             0
   12             12b       25     5       4    215      0
   12             a10       36     5       1             0