Я делаю несколько вещей: 1) чтение в файле с 2 столбцами, каждый с плавающей запятой, чтобы установить sh диапазон 2) чтение строк во втором файле, сравнение столбцов с этим файлом входного диапазона 3) запись в новый файл - целая строка второго файла, если определенные значения находятся в пределах заданного диапазона от file1 и именуют этот новый файл с column1 и column2 из rangefile
Каждый раз, когда это условие верно, я хочу создать файл, который основанный вне диапазона. Он должен l oop пройти через весь второй файл, проверяя и записывая в значения файла в строке, находящейся в пределах этого одного диапазона, записывать новый .txt с этим диапазоном, а затем повторять для последующих диапазонов.
Что-то вроде:
inputrange = sys.argv[1]
inputfile = sys.argv[2]
outputname = sys.argv[3]
range_handle = open(inputrange, "r")
input_fhandle = open(inputfile, "r")
output_fhandle = open(outputname, "w")
for line in range_handle:
#read in lines & store values of first second range... assume line.strip() and .split() have already been done
first_range = float(storage_lines[0])
second_range = float(storage_lines[1])
for linez in input_fhandle:
#assume .split() and .split() have been performed to create a list of vals of everything in line and that indices of the list have been assigned to variables -- in this case thing1, thing2, thing3 are some of those indices
average: float = (float(thing1) + float(thing2) + float(thing3)/3.0)
output_fhandle = output_fhandle + "_" + str(first_range) + "_" + str(second_range) + "_range.txt"
if(average >= first_range and average <= second_range)):
output_fhandle.write(f"writes whole line of data to file")
В частности, я хочу, чтобы мой выходной файл выглядел примерно так: output_fhandle_ (first_range) _ (second_range) _range.txt Но ошибка, которую я получаю:
output_fhandle = output_fhandle + "_" + str(first_range) + "_" + str(second_range) + "_range.txt"
TypeError: unsupported operand type(s) for +: '_io.TextIOWrapper' and 'str'
Где я ошибаюсь в своем синтаксисе и как я могу убедиться, что каждый создаваемый файл уникален для того, что читается в строке моего файла range.txt?
Спасибо