Как поменять значения колонки и метки в .txt файле?

У меня есть .txt файл со значениями mean, min, max, std, var и колонками данных:

["('Coolness_RHEED', 'mean')_5", "('Coolness_RHEED', 'mean')_5", "('Coolness_RHEED', 'mean')_5", "('Coolness_RHEED', 'std')_5", "('Coolness_RHEED', 'var')_5", "('Length_RHEED', 'min')_5", "('Length_RHEED', 'max')_5", "('Length_RHEED', 'mean')_5", "('Length_RHEED', 'std')_5", "('Length_RHEED', 'var')_5", "('Speed_RHEED', 'min')_5", "('Speed_RHEED', 'max')_5", "('Speed_RHEED', 'mean')_5", "('Speed_RHEED', 'std')_5", "('Speed_RHEED', 'var')_5", "('R FWHM_RHEED', 'min')_5", "('R FWHM_RHEED', 'max')_5", "('R FWHM_RHEED', 'mean')_5", "('R FWHM_RHEED', 'std')_5", "('R FWHM_RHEED', 'var')_5", "('X FWHM_RHEED', 'min')_5", "('X FWHM_RHEED', 'max')_5", "('X FWHM_RHEED', 'mean')_5", "('X FWHM_RHEED', 'std')_5", "('X FWHM_RHEED', 'var')_5", "('Y FWHM_RHEED', 'min')_5", "('Y FWHM_RHEED', 'max')_5", "('Y FWHM_RHEED', 'mean')_5", "('Y FWHM_RHEED', 'std')_5", "('Y FWHM_RHEED', 'var')_5", "('Filtered Rate', 'min')_5", "('Filtered Rate', 'max')_5", "('Filtered Rate', 'mean')_5", "('Filtered Rate', 'std')_5", "('Filtered Rate', 'var')_5", "('Displayed Rate', 'min')_5", "('Displayed Rate', 'max')_5", "('Displayed Rate', 'mean')_5", "('Displayed Rate', 'std')_5", "('Displayed Rate', 'var')_5", "('Raw Rate', 'min')_5", "('Raw Rate', 'max')_5",  "('Fundamental Freq', 'max')_1500", "('Fundamental Freq', 'mean')_1500", "('Fundamental Freq', 'std')_1500", "('Fundamental Freq', 'var')_1500", "('Source Power', 'min')_1500", "('Source Power', 'max')_1500", "('Source Power', 'mean')_1500", "('Source Power', 'std')_1500", "('Source Power', 'var')_1500", "('Crystal Position', 'min')_1500", "('Crystal Position', 'max')_1500", "('Crystal Position', 'mean')_1500", "('Crystal Position', 'std')_1500", "('Crystal Position', 'var')_1500", 'Coolness_RHEED_1500', 'Length_RHEED_1500', 'Speed_RHEED_1500', 'R FWHM_RHEED_1500', 'X FWHM_RHEED_1500', 'Y FWHM_RHEED_1500', 'Filtered Rate_1500', 'Displayed Rate_1500', 'Raw Rate_1500', 'Fundamental Freq_1500', 'Source Power_1500', 'Crystal Position_1500']

Мне надо поменять значения Coolness_RHEED, mean местами, чтобы получилось, как показанно ниже, и сохранить обратно в .txt файл.

Как это сделать?

["('mean', 'Coolness_RHEED')_5", "('mean', 'R FWHM_RHEED')_5", "('mean', 'X FWHM_RHEED')_5", "('mean', 'Y FWHM_RHEED')_5", "('mean', 'Filtered Rate')_5", "('mean', 'Displayed Rate')_5", "('mean', 'Raw Rate')_5", "('mean', 'Source Power')_5", "('mean', 'Crystal Position')_5", "('std', 'Coolness_RHEED')_5", "('std', 'R FWHM_RHEED')_5", "('std', 'X FWHM_RHEED')_5", "('std', 'Y FWHM_RHEED')_5", "('std', 'Filtered Rate')_5", "('std', 'Displayed Rate')_5", "('std', 'Raw Rate')_5", "('std', 'Source Power')_5", "('std', 'Crystal Position')_5", "('var', 'Coolness_RHEED')_5", "('var', 'R FWHM_RHEED')_5", "('var', 'X FWHM_RHEED')_5", "('var', 'Y FWHM_RHEED')_5", "('var', 'Filtered Rate')_5", "('var', 'Displayed Rate')_5", "('var', 'Raw Rate')_5", "('var', 'Source Power')_5", "('var', 'Crystal Position')_5", 'Coolness_RHEED_5', 'R FWHM_RHEED_5', 'X FWHM_RHEED_5', 'Y FWHM_RHEED_5', 'Filtered Rate_5', 'Displayed Rate_5', 'Raw Rate_5', 'Source Power_5', 'Crystal Position_5', "('mean', 'Coolness_RHEED')_50", "('mean', 'R FWHM_RHEED')_50", "('mean', 'X FWHM_RHEED')_50", "('mean', 'Y FWHM_RHEED')_50", "('mean', 'Filtered Rate')_50", "('mean', 'Displayed Rate')_50", "('mean', 'Raw Rate')_50", "('mean', 'Source Power')_50", "('mean', 'Crystal Position')_50", "('std', 'Coolness_RHEED')_50", "('std', 'R FWHM_RHEED')_50", "('std', 'X FWHM_RHEED')_50", "('std', 'Y FWHM_RHEED')_50", "('std', 'Filtered Rate')_50", "('std', 'Displayed Rate')_50", "('std', 'Raw Rate')_50", "('std', 'Source Power')_50", "('std', 'Crystal Position')_50", "('var', 'Coolness_RHEED')_50", "('var', 'R FWHM_RHEED')_50", "('var', 'X FWHM_RHEED')_50", "('var', 'Y FWHM_RHEED')_50", "('var', 'Filtered Rate')_50", "('var', 'Displayed Rate')_50", "('var', 'Raw Rate')_50", "('var', 'Source Power')_50", "('var', 'Crystal Position')_50", 'Coolness_RHEED_50', 'R FWHM_RHEED_50', 'X FWHM_RHEED_50', 'Y FWHM_RHEED_50', 'Filtered Rate_50', 'Displayed Rate_50', 'Raw Rate_50', 'Source Power_50', 'Crystal Position_50', "('mean', 'Coolness_RHEED')_500", "('mean', 'R FWHM_RHEED')_500", "('mean', 'X FWHM_RHEED')_500", "('mean', 'Y FWHM_RHEED')_500", "('mean', 'Filtered Rate')_500", "('mean', 'Displayed Rate')_500", "('mean', 'Raw Rate')_500", "('mean', 'Source Power')_500", "('mean', 'Crystal Position')_500", "('std', 'Coolness_RHEED')_500", "('std', 'R FWHM_RHEED')_500", "('std', 'X FWHM_RHEED')_500", "('std', 'Y FWHM_RHEED')_500", "('std', 'Filtered Rate')_500", "('std', 'Displayed Rate')_500", "('std', 'Raw Rate')_500", "('std', 'Source Power')_500", "('std', 'Crystal Position')_500", "('var', 'Coolness_RHEED')_500", "('var', 'R FWHM_RHEED')_500", "('var', 'X FWHM_RHEED')_500", "('var', 'Y FWHM_RHEED')_500", "('var', 'Filtered Rate')_500", "('var', 'Displayed Rate')_500", "('var', 'Raw Rate')_500", "('var', 'Source Power')_500", "('var', 'Crystal Position')_500", 'Coolness_RHEED_500', 'R FWHM_RHEED_500', 'X FWHM_RHEED_500', 'Y FWHM_RHEED_500', 'Filtered Rate_500', 'Displayed Rate_500', 'Raw Rate_500', 'Source Power_500', 'Crystal Position_500', "('mean', 'Coolness_RHEED')_1500", "('mean', 'R FWHM_RHEED')_1500", "('mean', 'X FWHM_RHEED')_1500", "('mean', 'Y FWHM_RHEED')_1500", "('mean', 'Filtered Rate')_1500", "('mean', 'Displayed Rate')_1500", "('mean', 'Raw Rate')_1500", "('mean', 'Source Power')_1500", "('mean', 'Crystal Position')_1500", "('std', 'Coolness_RHEED')_1500", "('std', 'R FWHM_RHEED')_1500", "('std', 'X FWHM_RHEED')_1500", "('std', 'Y FWHM_RHEED')_1500", "('std', 'Filtered Rate')_1500", "('std', 'Displayed Rate')_1500", "('std', 'Raw Rate')_1500", "('std', 'Source Power')_1500", "('std', 'Crystal Position')_1500", "('var', 'Coolness_RHEED')_1500", "('var', 'R FWHM_RHEED')_1500", "('var', 'X FWHM_RHEED')_1500", "('var', 'Y FWHM_RHEED')_1500", "('var', 'Filtered Rate')_1500", "('var', 'Displayed Rate')_1500", "('var', 'Raw Rate')_1500", "('var', 'Source Power')_1500", "('var', 'Crystal Position')_1500", 'Coolness_RHEED_1500', 'R FWHM_RHEED_1500', 'X FWHM_RHEED_1500', 'Y FWHM_RHEED_1500', 'Filtered Rate_1500', 'Displayed Rate_1500', 'Raw Rate_1500', 'Source Power_1500', 'Crystal Position_1500']

Ответы (1 шт):

Автор решения: MaxU

попробуйте так:

import re

new = [re.sub(r"\(([^,]*)(,\s*)([^\)]*)\)(.*)", r"(\3\2\1)\4", s)
       for s in lst]

результат:

In [145]: new
Out[145]:
["('mean', 'Coolness_RHEED')_5",
 "('mean', 'Coolness_RHEED')_5",
 "('mean', 'Coolness_RHEED')_5",
 "('std', 'Coolness_RHEED')_5",
 "('var', 'Coolness_RHEED')_5",
 "('min', 'Length_RHEED')_5",
 "('max', 'Length_RHEED')_5",
 "('mean', 'Length_RHEED')_5",
 "('std', 'Length_RHEED')_5",
 "('var', 'Length_RHEED')_5",
 "('min', 'Speed_RHEED')_5",
 "('max', 'Speed_RHEED')_5",
 "('mean', 'Speed_RHEED')_5",
 "('std', 'Speed_RHEED')_5",
 "('var', 'Speed_RHEED')_5",
 "('min', 'R FWHM_RHEED')_5",
 "('max', 'R FWHM_RHEED')_5",
 "('mean', 'R FWHM_RHEED')_5",
 "('std', 'R FWHM_RHEED')_5",
 "('var', 'R FWHM_RHEED')_5",
 "('min', 'X FWHM_RHEED')_5",
 "('max', 'X FWHM_RHEED')_5",
 "('mean', 'X FWHM_RHEED')_5",
 "('std', 'X FWHM_RHEED')_5",
 "('var', 'X FWHM_RHEED')_5",
 "('min', 'Y FWHM_RHEED')_5",
 "('max', 'Y FWHM_RHEED')_5",
 "('mean', 'Y FWHM_RHEED')_5",
 "('std', 'Y FWHM_RHEED')_5",
 "('var', 'Y FWHM_RHEED')_5",
 "('min', 'Filtered Rate')_5",
 "('max', 'Filtered Rate')_5",
 "('mean', 'Filtered Rate')_5",
 "('std', 'Filtered Rate')_5",
 "('var', 'Filtered Rate')_5",
 "('min', 'Displayed Rate')_5",
 "('max', 'Displayed Rate')_5",
 "('mean', 'Displayed Rate')_5",
 "('std', 'Displayed Rate')_5",
 "('var', 'Displayed Rate')_5",
 "('min', 'Raw Rate')_5",
 "('max', 'Raw Rate')_5",
 "('max', 'Fundamental Freq')_1500",
 "('mean', 'Fundamental Freq')_1500",
 "('std', 'Fundamental Freq')_1500",
 "('var', 'Fundamental Freq')_1500",
 "('min', 'Source Power')_1500",
 "('max', 'Source Power')_1500",
 "('mean', 'Source Power')_1500",
 "('std', 'Source Power')_1500",
 "('var', 'Source Power')_1500",
 "('min', 'Crystal Position')_1500",
 "('max', 'Crystal Position')_1500",
 "('mean', 'Crystal Position')_1500",
 "('std', 'Crystal Position')_1500",
 "('var', 'Crystal Position')_1500",
 'Coolness_RHEED_1500',
 'Length_RHEED_1500',
 'Speed_RHEED_1500',
 'R FWHM_RHEED_1500',
 'X FWHM_RHEED_1500',
 'Y FWHM_RHEED_1500',
 'Filtered Rate_1500',
 'Displayed Rate_1500',
 'Raw Rate_1500',
 'Fundamental Freq_1500',
 'Source Power_1500',
 'Crystal Position_1500']
→ Ссылка