Любая рекомендация о том, как я могу захватить данные из нескольких текстовых файлов и обрабатывать их (например, подсчитать общие суммы). Я пытался сделать это в Python, но продолжаю сталкиваться с тупиками.Данные процесса из нескольких текстовых файлов
Машина генерирует итоговый файл в текстовом формате каждый раз, когда вы выполняете операцию, для этого примера скрининг хороших яблок из партий. Сначала вы загружаете яблоки, тогда добро отделяется от плохих, а затем вы можете повторно загрузить плохие яблоки, чтобы повторно протестировать их, а некоторые восстановлены. поэтому по одной партии генерируется как минимум 2 файла сводки, в зависимости от того, сколько раз вы загружаете яблоки для восстановления.
Это пример текстового файла:
file1:
general Info:
Batch No. : A2J3
Operation : Test
Fruit : Apple
Operation Number : A5500
Quantity In : 10
yield info:
S1 S2 Total Bin Name
5 2 7 good
1 2 3 bad
file2:
general Info:
Batch No. : A2J3
Operation : Test
Fruit : Apple
Operation Number : A5500
Quantity In : 3
yield info:
S1 S2 Total Bin Name
1 1 2 good
0 0 1 bad
Я хочу, чтобы получить данные в папку с этим текстовые файлы и объединить результаты тестирования по следующим критериям:
процесса та же партия, определяя, какие текстовые файлы приходят из той же номеров партии, те же операция (в зависимости от содержания в TXT-файле не имя файла)
объединить 2 (или более итоговый файл) данные в следующий формат CSV:
Lot: Operation: Bin First Pass Second Pass Final Yield %Yield Good 7 2 9 90% Bad 3 1 1 10%
S1, S2 является переменной величиной, она может идти от 1 до 14, но никогда не меньше 1. бункеры также может иметь несколько типов на различных текстовых файлов (не ограничивается только хорошо и плохо. но всегда будет только один хороший бин)
Bins:
Good
Semi-bad
Bad
Worst
...
Я новичок в Python и я только использовал этот язык сценариев в школе, я только не знаю, самые основы, ничего больше. Так что это задача, которую я хочу сделать, это немного подавляющим для меня, поэтому я начал обрабатывать один текстовый файл и получить данные, которые я хотел, например: номер партии
with open('R0.txt') as fh_d10SunFile:
fh_d10SumFile_perline = fh_d10SunFile.read().splitlines()
#print fh_d10SumFile_perline
TestProgramName_str = fh_d10SumFile_perline[CONST.TestProgram_field].split(':')[1]
LotNumber_str = fh_d10SumFile_perline[CONST.LotNumber_field].split(':')[1]
QtyIn_int = int(fh_d10SumFile_perline[CONST.UnitsIn_field].split(':')[1])
TestIteration_str = fh_d10SumFile_perline[CONST.TestIteration_field].split(':')[1]
TestType_str = fh_d10SumFile_perline[CONST.TestType_field].split(':')[1]
затем захватить все контейнеры в этом сводном файле :
SoftBins_str = filter(lambda x: re.search(r'bin',x),fh_d10SumFile_perline)
for index in range(len(SoftBins_str)):
SoftBins_data_str = [l.strip() for l in SoftBins_str[index].split(' ') if l.strip()]
SoftBins_data_str.reverse()
bin2bin[SoftBins_data_str[0]] = SoftBins_data_str[2]
тогда я застрял, потому что я не знаю, как сделать это чтение и анализ с несколькими н количество текстовых файлов, содержащих п количество сайтов (S1, S2). Как получить эту информацию из n количества текстовых файлов, обрабатывать их в памяти (это даже возможно с помощью python), а затем записать вывод с вычислением в выходной файл csv.
Вы говорите ** как минимум два сводных файла **, но выходной формат фиксируется с двумя проходами? Также я предполагаю, что 'Lot:' является текущим 'Batch No.' и' Operation: 'is' Test'? –
@MartinEvans да, это правильно –
@SreejithMenon обновил вопрос с более подробной информацией и подходом, который я пытался сделать. –