2017-01-18 3 views
0

Я пытаюсь сохранить свои данные в файл csv, и я хотел бы указать разные типы данных для разных столбцов, которые я сохраняю (например, int для id, string для имени), как я могу это сделать что?Python numpy сохраняет массивы в разных форматах

В настоящее время следующим способом я могу сохранить все 3 массива в виде строки.

d = np.column_stack((id, first_name, surname)) 
np.savetxt('table.csv', d, delimiter=',', fmt="%s") 

Спасибо!

+0

Немного непонятно, о чем вы спрашиваете. Вы сохраняете txt, поэтому все всегда будет строкой ASCII. – Mikk

+0

Мне нужно загрузить csv в db2 как одну из таблиц базы данных, и я хотел бы сохранить, например. ID как целое число в этой таблице –

+0

Что такое 'dtype'' d'? – hpaulj

ответ

0

Если все, что вы ищете просто другой способ форматирования выходных строк, вы можете посмотреть документацию (https://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html):

FMT: ул или последовательность STRs, дополнительный

Единый формат (% 10.5f), последовательность форматов или многоформатная строка, например 'Итерация% d -% 10.5f', в этом случае разделитель игнорируется.

Просто отправьте fmt как список форматов, например. fmt=("%d", "%s", "%s").

+0

Поскольку мне нужно загрузить данные в поддельную базу данных, которую мы создаем, мне нужно использовать column_stack, чтобы получить нужный формат. Вы знаете, как я могу указать формат данных в этом случае? –

+0

Сложенный массив, вероятно, является строковым dtype. '% s' - единственное, что будет работать. С помощью структурированного массива он мог бы смешивать 'fmt'. – hpaulj