Сохранение переменных в Python в виде столбцов без скобок - PullRequest
1 голос
/ 23 сентября 2019

У меня есть код, который возвращает некоторые переменные, которые я хотел бы использовать позже в другой программе.Однако вывод не выглядит так, как я хочу.Строки заключены в квадратные скобки [], и я хотел бы удалить их.

Я нашел следующий вопрос, который касается чего-то подобного;однако я сохраняю переменную, а не печатаю ее на экране:

как удалить символы из печатного вывода в python

Здесь переменная определена,Используемые библиотеки хаосисты и тупы.

nodes, weights = cp.generate_quadrature(order, dist, rule="G", sparse=True)
nodes_trans = nodes.transpose()

И здесь сохраняется переменная


with open('nodes_smolyak_trans.txt', 'w') as ndsT:
    for itemndsT in nodes_trans:
        ndsT.write("%s\n" % itemndsT)
ndsT.close()

Кроме того, упомянутый выше dist определен как

dist = cp.J(wX, wY, pX, pY)

И все его компоненты определеныравным

windX = cp.Uniform(0, 100)

Теперь все строки моего вывода выглядят так:

[50.50. 50. 21.13248654]

Я бы хотел, чтобы они были просто

21.13248654

Если количество строк невелико, я могу вручную удалить их вручную, но когда выходные данные содержат сотни, я трачу впустуюслишком много времени, поэтому приветствуется любое предложение снять скобки вручную.

1 Ответ

1 голос
/ 23 сентября 2019

Я подозреваю, что itemndsT является типом списка, поэтому, когда вы записываете его в файл, он включает квадратные скобки.Вам нужно будет отформатировать его в строку самостоятельно, прежде чем писать.Есть несколько способов сделать это, но использование строковой функции join является одним из самых простых:

for itemndsT in nodes_trans:
    item_str = " ".join(map(str,itemndsT))
    ndsT.write("%s\n" % item_str)
...