Wpis z mikrobloga

Mam taki problem, że próbuję sobie posegregować dane i zapisać je w jednym pliku CSV.
W skrócie:
- Robię listę wszystkich plików w zdefiniowanym folderze
- Przeszukuję tę listę plików, aby znaleźć pierwszą liczbę całkowitą znajdującą się przed literą R (to identyfikator baterii)
- Przeszukuję tę listę plików, aby znaleźć pierwszą liczbę stałoprzecinkową (powiedzmy, że zawsze z 1 miejscem po przecinku) -> to identyfikator napięcia
- Przeszukuję tę listę plików, aby znaleźć ostatnią liczbę całkowitą -> to cykl baterii

Ogólnie to chciałem zdefiniować w tym celu funkcję, ale z jakiegoś powodu gdy występują duplikaty tych samych numerów (bo może być bateria 1 o napięciu 1.9 oraz 2.1V) jeden z nich jest pomijany.

ext1 = ['txt']
out1 = [p for p2 in [glob(f'*.{name}') for name in ext1] for p in p2]

Tutaj właściwa funkcja:

def cell_number(filename):
cell_number = re.findall(r"(\d+)R", filename)
return cell_number

Główny kod:

for filename in out1: # .txt FORMAT!

readTextFile(filename)
cell_number(filename)

if i == 0:
customCircuit.save(os.path.join(new_location,'template_model.json'))
else:
fitted_template = circuits.CustomCircuit()
fitted_template.load(os.path.join(new_location,'template_model.json'), fitted_as_initial=True)

number = cell_number(filename)
df_eq[f'R{number}']=np.append(customCircuit.parameters_,customCircuit.conf_) # tutaj kod sie wali
#print(df_eq)
df_eq.to_csv(os.path.join(new_location,f'out.csv'), index=True)

i+=1

Co robię źle?
#python #programming #math #pandas #numpy
  • 3
  • Odpowiedz