Дамп массива NumPy в CSV-файл

Ваш call_python_file.php должен выглядеть так:

<?php
    $item='Everything is awesome!!';
    $tmp = exec("py.py $item");
    echo $tmp;
?>

Выполняет скрипт python и выводит результат в браузер. Хотя в вашем скрипте python переменная (sys.argv [1:]) будет содержать все ваши аргументы. Чтобы отобразить argv как строку для везде, где ваш php вытягивается, поэтому, если вы хотите сделать текстовую область:

import sys

list1 = ' '.join(sys.argv[1:])

def main():
  print list1

if __name__ == '__main__':
    main()
449
задан senderle 2 June 2012 в 13:01
поделиться

1 ответ

Запись массивов записей в виде CSV-файлов с заголовками требует немного больше работы.

Этот пример читает файл CSV с заголовком в первой строке, а затем записывает тот же файл.

import numpy as np

# Write an example CSV file with headers on first line
with open('example.csv', 'w') as fp:
    fp.write('''\
col1,col2,col3
1,100.1,string1
2,222.2,second string
''')

# Read it as a Numpy record array
ar = np.recfromcsv('example.csv')
print(repr(ar))
# rec.array([(1, 100.1, 'string1'), (2, 222.2, 'second string')], 
#           dtype=[('col1', '<i4'), ('col2', '<f8'), ('col3', 'S13')])

# Write as a CSV file with headers on first line
with open('out.csv', 'w') as fp:
    fp.write(','.join(ar.dtype.names) + '\n')
    np.savetxt(fp, ar, '%s', ',')

Обратите внимание, что этот пример не рассматривает строки с запятыми. Чтобы рассмотреть кавычки для нечисловых данных, используйте пакет csv :

import csv

with open('out2.csv', 'wb') as fp:
    writer = csv.writer(fp, quoting=csv.QUOTE_NONNUMERIC)
    writer.writerow(ar.dtype.names)
    writer.writerows(ar.tolist())
13
ответ дан Mike T 2 June 2012 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: