Как импортировать из CSV-файла Unicode (UTF-8) в массив Numpy - PullRequest
1 голос
/ 02 августа 2011

я не пытаюсь сделать это умным или быстрым, просто пытаюсь сделать это вообще.

У меня есть файл, похожий на этот:

$ cat all_user_token_counts.csv  
@5raphaels,in,15
@5raphaels,for,15
@5raphaels,unless,11
@5raphaels,you,11

я знаю, что его расшифровывают utf-8 закодирован, потому что я его создал, вот так

    debug('opening ' + ALL_USER_TOKEN_COUNTS_FILE)
    file = codecs.open(ALL_USER_TOKEN_COUNTS_FILE, encoding="utf-8",mode= "w")
    for (user, token) in tokenizer.get_tokens_from_all_files():
        #... count tokens ..
        file.write(unicode(username +","+ token +","+ str(count) +"\r\n"))

Я хочу прочитать его в массив Numpy, чтобы он выглядел примерно так или как-то так.

   array([[u'@5raphaels', u'in', 15],
          [u'@5raphaels', u'for', 11],
          [u'@5raphaels', u'unless', 11]], 
          dtype=('<U10', '<U10', int))

Пока я экспериментируюв процессе написания этого вопроса мне приходит в голову, что это может быть даже невозможно?Если это так, я хотел бы знать!

Заранее спасибо!

1 Ответ

2 голосов
/ 02 августа 2011

Это можно легко сделать с помощью np.loadtxt :

import numpy as np
arr=np.loadtxt('all_user_token_counts.csv',delimiter=',',
                  dtype = '|U10,<U10,int')
print(arr)

# [(u'@5raphaels', u'in', 15) (u'@5raphaels', u'for', 15)
#  (u'@5raphaels', u'unless', 11) (u'@5raphaels', u'you', 11)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...