Aggiunge una seconda colonna derivata: Current/sqrt(v)/v
Lo script chiede la velocita' di scansione una sola volta e ora crea entrambe le colonne (Current/sqrt(scan rate) e la sua divisione per la velocita' di scansione) nello stesso passaggio. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
"""Aggiunge ai CSV dell'ultimo ciclo una colonna Corrente / sqrt(velocita' di scansione).
|
"""Aggiunge ai CSV dell'ultimo ciclo due colonne derivate dalla corrente:
|
||||||
|
Corrente / sqrt(velocita' di scansione) e (Corrente / sqrt(v)) / v.
|
||||||
|
|
||||||
La velocita' di scansione (V/s) viene cercata nel nome del file (es. "0.5Vs").
|
La velocita' di scansione (V/s) viene cercata nel nome del file (es. "0.5Vs").
|
||||||
Per ogni file viene chiesto conferma: premere invio per usare il valore
|
Per ogni file viene chiesto conferma: premere invio per usare il valore
|
||||||
@@ -45,14 +46,19 @@ def add_current_over_sqrt_scanrate(path: Path, scan_rate: float) -> None:
|
|||||||
header = next(reader)
|
header = next(reader)
|
||||||
rows = [tuple(row) for row in reader]
|
rows = [tuple(row) for row in reader]
|
||||||
|
|
||||||
header = [*header, "Current/sqrt(scan rate)"]
|
header = [*header, "Current/sqrt(scan rate)", "Current/sqrt(scan rate)/scan rate"]
|
||||||
sqrt_scan_rate = math.sqrt(scan_rate)
|
sqrt_scan_rate = math.sqrt(scan_rate)
|
||||||
|
|
||||||
new_rows = []
|
new_rows = []
|
||||||
for row in rows:
|
for row in rows:
|
||||||
current = float(row[1].replace(",", "."))
|
current = float(row[1].replace(",", "."))
|
||||||
value = current / sqrt_scan_rate
|
value_d = current / sqrt_scan_rate
|
||||||
new_rows.append((*row, f"{value:.4e}".replace(".", ",")))
|
value_e = value_d / scan_rate
|
||||||
|
new_rows.append((
|
||||||
|
*row,
|
||||||
|
f"{value_d:.4e}".replace(".", ","),
|
||||||
|
f"{value_e:.4e}".replace(".", ","),
|
||||||
|
))
|
||||||
|
|
||||||
with path.open("w", encoding="utf-8", newline="") as f:
|
with path.open("w", encoding="utf-8", newline="") as f:
|
||||||
writer = csv.writer(f, delimiter=";")
|
writer = csv.writer(f, delimiter=";")
|
||||||
@@ -73,7 +79,7 @@ def main(argv: list[str]) -> None:
|
|||||||
for csv_file in csv_files:
|
for csv_file in csv_files:
|
||||||
scan_rate = ask_scan_rate(csv_file.name)
|
scan_rate = ask_scan_rate(csv_file.name)
|
||||||
add_current_over_sqrt_scanrate(csv_file, scan_rate)
|
add_current_over_sqrt_scanrate(csv_file, scan_rate)
|
||||||
print(f"OK {csv_file.name} (colonna Current/sqrt(scan rate) aggiunta con v={scan_rate} V/s)")
|
print(f"OK {csv_file.name} (colonne Current/sqrt(scan rate) e Current/sqrt(scan rate)/scan rate aggiunte con v={scan_rate} V/s)")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user