С двумя списками, которые вы описываете:
In [39]: alist=[1,3,5,7]; blist=[2,4,6,8]
Естественный способ объединить их в массив:
In [40]: arr = np.array((alist, blist))
In [41]: arr
Out[41]:
array([[1, 3, 5, 7],
[2, 4, 6, 8]])
Транспонирование этого массива выглядит так:
[ 112], который мы можем записать с помощью savetxt
как:
In [44]: np.savetxt('foo.txt', arr.T, fmt='%5d')
In [45]: cat foo.txt
1 2
3 4
5 6
7 8
column_stack
и c_
создадут один и тот же массив.
Вы можете добавить разделитель ',', если этого требует ваш внешний читатель.
Знаете ли вы, как читать вывод записи savetxt
в виде простого текста? Я использую оболочку bash
cat
.
Когда у людей возникают проблемы с чтением и записью файлов csv
, мы обычно просим образцы, чтобы мы могли воспроизвести проблему. При необходимости может помочь выборка промежуточных массивов (например, вывод column_stack
). В противном случае нам остается только догадываться, в чем проблема.
Прошлый раз, когда я использовал Delphi, был несколько лет назад, но у меня была аналогичная ситуация для контакта с, и мой опыт мог быть полезен для Вас: я сталкивался с той же проблемой и не хотел переключаться на компоненты "Инди", так как (большое) приложение не стоило порта. Насколько я могу помнить, Вы должны иметь onClientConnect событие на сокете сервера и вот, был я проверенный на предел:
.onClientConnect( Sender: TObject; aSocket: T... )
begin
if( YourServerSocket.ActiveConnections > YourDefinedMaxConnections )
begin
// Drop the connection
aSocket.Close;
end;
end
Я не могу помнить больше кроме этого, но я думаю, что сделал что-то на этих строках, или по крайней мере это было вещью, которую я придумал.