fix(data): Fix generate_df_tuples function output bug when special_groups args is passed

This commit is contained in:
nuluh
2025-06-17 13:20:27 +07:00
parent 24c1484300
commit 58a672a680

View File

@@ -71,30 +71,29 @@ def generate_df_tuples(total_dfs=30, group_size=5, prefix="zzzAD", ext="TXT", fi
df_name = f"{prefix}{i}.{ext}" df_name = f"{prefix}{i}.{ext}"
tuples.append((df_name, [first_col, last_col])) tuples.append((df_name, [first_col, last_col]))
# tuples.append(list)
# Add special groups at specified positions (other than beginning)
if special_groups:
for group in special_groups:
position = group.get('position', 0) # default value is 0 if not specified
if position > 0:
df_name = group['df_name']
size = group.get('size', group_size)
# Create the special group tuples
special_tuples = []
for i in range(1, size + 1):
first_col = first_col_start + i - 1
last_col = first_col + last_col_offset
special_tuples.append((df_name, [first_col, last_col]))
tuples.insert(special_tuples)
if group: if group:
# Group tuples into sublists of group_size # Group tuples into sublists of group_size
grouped_tuples = [] grouped_tuples = []
for i in range(0, len(tuples), group_size): for i in range(0, len(tuples), group_size):
grouped_tuples.append(tuples[i:i + group_size]) grouped_tuples.append(tuples[i:i + group_size])
return grouped_tuples tuples = grouped_tuples
# tuples.append(list)
# Add special groups at specified positions (other than beginning)
if special_groups:
for group in special_groups:
position = group.get('position', 0) # default value is 0 if not specified
df_name = group['df_name']
size = group.get('size', group_size)
# Create the special group tuples
special_tuples = []
for i in range(size):
first_col = first_col_start + i
last_col = first_col + last_col_offset
special_tuples.append((df_name, [first_col, last_col]))
tuples.insert(position, special_tuples)
return tuples return tuples
@@ -273,7 +272,7 @@ class DataProcessor:
:param output_dir: Directory to save the CSV files. :param output_dir: Directory to save the CSV files.
:param file_prefix: Prefix for the output filenames. :param file_prefix: Prefix for the output filenames.
""" """
for group_idx, group in enumerate(self.data, start=1): for group_idx, group in enumerate(self.data, start=0):
group_folder = os.path.join(output_dir, f"{file_prefix}_{group_idx}") group_folder = os.path.join(output_dir, f"{file_prefix}_{group_idx}")
os.makedirs(group_folder, exist_ok=True) os.makedirs(group_folder, exist_ok=True)
for test_idx, df in enumerate(group, start=1): for test_idx, df in enumerate(group, start=1):