Check for "fit" key instead of handling KeyError
This commit is contained in:
parent
a502248891
commit
f79b4cbeee
@ -31,49 +31,51 @@ def export_comm(data, path, lorentz=False):
|
||||
|
||||
with open(str(path + extension), "w") as out_file:
|
||||
for keys, meas in data["Measurements"].items():
|
||||
try:
|
||||
meas_number_str = f"{keys[1:]:{align}{padding[0]}}"
|
||||
h_str = f'{int(meas["h_index"]):{padding[1]}}'
|
||||
k_str = f'{int(meas["k_index"]):{padding[1]}}'
|
||||
l_str = f'{int(meas["l_index"]):{padding[1]}}'
|
||||
if meas["fit"]["export_fit"] is True:
|
||||
area = float(meas["fit"]["g_amp"].value)
|
||||
sigma_str = f'{"{:8.2f}".format(float(meas["fit"]["g_amp"].stderr)):{align}{padding[2]}}'
|
||||
else:
|
||||
area = float(meas["fit"]["int_area"].n)
|
||||
sigma_str = (
|
||||
f'{"{:8.2f}".format(float(meas["fit"]["int_area"].s)):{align}{padding[2]}}'
|
||||
)
|
||||
|
||||
if zebra_mode == "bi":
|
||||
area = correction(area, lorentz, zebra_mode, meas["twotheta_angle"])
|
||||
int_str = f'{"{:8.2f}".format(area):{align}{padding[2]}}'
|
||||
angle_str1 = f'{meas["twotheta_angle"]:{padding[3]}}'
|
||||
angle_str2 = f'{meas["omega_angle"]:{padding[3]}}'
|
||||
angle_str3 = f'{meas["chi_angle"]:{padding[3]}}'
|
||||
angle_str4 = f'{meas["phi_angle"]:{padding[3]}}'
|
||||
elif zebra_mode == "nb":
|
||||
area = correction(area, lorentz, zebra_mode, meas["gamma_angle"], meas["nu_angle"])
|
||||
int_str = f'{"{:8.2f}".format(area):{align}{padding[2]}}'
|
||||
angle_str1 = f'{meas["gamma_angle"]:{padding[3]}}'
|
||||
angle_str2 = f'{meas["omega_angle"]:{padding[3]}}'
|
||||
angle_str3 = f'{meas["nu_angle"]:{padding[3]}}'
|
||||
angle_str4 = f'{meas["unkwn_angle"]:{padding[3]}}'
|
||||
|
||||
line = (
|
||||
meas_number_str
|
||||
+ h_str
|
||||
+ l_str
|
||||
+ k_str
|
||||
+ int_str
|
||||
+ sigma_str
|
||||
+ angle_str1
|
||||
+ angle_str2
|
||||
+ angle_str3
|
||||
+ angle_str4
|
||||
+ "\n"
|
||||
)
|
||||
out_file.write(line)
|
||||
|
||||
except KeyError:
|
||||
if "fit" not in meas:
|
||||
print("Measurement skipped - no fit value for:", keys)
|
||||
continue
|
||||
|
||||
meas_number_str = f"{keys[1:]:{align}{padding[0]}}"
|
||||
h_str = f'{int(meas["h_index"]):{padding[1]}}'
|
||||
k_str = f'{int(meas["k_index"]):{padding[1]}}'
|
||||
l_str = f'{int(meas["l_index"]):{padding[1]}}'
|
||||
if meas["fit"]["export_fit"] is True:
|
||||
area = float(meas["fit"]["g_amp"].value)
|
||||
sigma_str = (
|
||||
f'{"{:8.2f}".format(float(meas["fit"]["g_amp"].stderr)):{align}{padding[2]}}'
|
||||
)
|
||||
else:
|
||||
area = float(meas["fit"]["int_area"].n)
|
||||
sigma_str = (
|
||||
f'{"{:8.2f}".format(float(meas["fit"]["int_area"].s)):{align}{padding[2]}}'
|
||||
)
|
||||
|
||||
if zebra_mode == "bi":
|
||||
area = correction(area, lorentz, zebra_mode, meas["twotheta_angle"])
|
||||
int_str = f'{"{:8.2f}".format(area):{align}{padding[2]}}'
|
||||
angle_str1 = f'{meas["twotheta_angle"]:{padding[3]}}'
|
||||
angle_str2 = f'{meas["omega_angle"]:{padding[3]}}'
|
||||
angle_str3 = f'{meas["chi_angle"]:{padding[3]}}'
|
||||
angle_str4 = f'{meas["phi_angle"]:{padding[3]}}'
|
||||
elif zebra_mode == "nb":
|
||||
area = correction(area, lorentz, zebra_mode, meas["gamma_angle"], meas["nu_angle"])
|
||||
int_str = f'{"{:8.2f}".format(area):{align}{padding[2]}}'
|
||||
angle_str1 = f'{meas["gamma_angle"]:{padding[3]}}'
|
||||
angle_str2 = f'{meas["omega_angle"]:{padding[3]}}'
|
||||
angle_str3 = f'{meas["nu_angle"]:{padding[3]}}'
|
||||
angle_str4 = f'{meas["unkwn_angle"]:{padding[3]}}'
|
||||
|
||||
line = (
|
||||
meas_number_str
|
||||
+ h_str
|
||||
+ l_str
|
||||
+ k_str
|
||||
+ int_str
|
||||
+ sigma_str
|
||||
+ angle_str1
|
||||
+ angle_str2
|
||||
+ angle_str3
|
||||
+ angle_str4
|
||||
+ "\n"
|
||||
)
|
||||
out_file.write(line)
|
||||
|
Loading…
x
Reference in New Issue
Block a user