Есть небольшой файл/пример txt/excell, который нужно пропарсить особым образом. В самом файле содержится 3 колонки. На первой строчке находятся названия параметров. Каждый параметр принадлежит к одной колонке под ним. Необходимо, чтобы при запуске кода:
1. спрашивали название файла, который нужно пропарсить,
2. добавляли новый файл txt, куда необходимые нам колонки вставлялись в файл,
3. спрашивали, сколько параметров мы хотим получить в новом файле txt,
4. вводили параметры,
5. и записывали эти колонки с параметрами и их значениями в новый файл.
Проблема в создании самих колонок. В конечном результате у меня появляются строки с параметрами и их значениями. Если можно было бы их транспонировать, но поскольку у меня получаются не массивы, то я не могу воспользоваться модулем numpy и применить метод transpose().
Приложен файл и мой код. Можете ознакомиться.
Также можете предложить свой альтернативный код.
Вложение 863165
1. спрашивали название файла, который нужно пропарсить,
2. добавляли новый файл txt, куда необходимые нам колонки вставлялись в файл,
3. спрашивали, сколько параметров мы хотим получить в новом файле txt,
4. вводили параметры,
5. и записывали эти колонки с параметрами и их значениями в новый файл.
Проблема в создании самих колонок. В конечном результате у меня появляются строки с параметрами и их значениями. Если можно было бы их транспонировать, но поскольку у меня получаются не массивы, то я не могу воспользоваться модулем numpy и применить метод transpose().
Приложен файл и мой код. Можете ознакомиться.
Также можете предложить свой альтернативный код.
Вложение 863165
:
import string
fname = input("Enter a file name: ")
outputfile = "out.txt"
try:
fhand = open(fname, mode='r')
fcopy = open(outputfile, mode='a')
except:
print ("File don’t exist: ", fname)
exit()
question = int(input("Please, enter the NUMBER of required parameters: "))
if question > 3:
print("Number of parameters is limited. Please, try again")
exit()
for lines in fhand:
lines = lines.split()
t = 0
while (t < question):
param = input("Enter the required parameter: ")
t = t + 1
indParam = lines.index(param)
fhand = open(fname, mode='r')
a = fhand
for numberlines in a:
numberlines = numberlines.split()
number = numberlines[indParam]
fcopy.write(number + '\t')
fcopy.write(number + '\n')
break
fhand.close()
fcopy.close()