Как прочитать CSV-файл в массивы без кавычек - PullRequest
0 голосов
/ 03 мая 2019

Я хочу прочитать данные в CSV-файл и сделать некоторые форматы.Но я забыл, как удалить " '' " после того, как я переформатировал данные в массив numpy.Я видел, что есть хитрость для использования eval() только в одной строке раньше.Но сейчас я не могу его найти.

Данные моего csv-файла выглядят так:

6,1 2 3 4 5 6 ... 2300 2301 2302 2303 2304 \ n

...

1,1 2 3 4 5 6 ... 2300 2301 2302 2303 2304 \ n

from load_data import load
import numpy as np
import matplotlib.pyplot as plt

with open('fer2013.csv') as f:
    f.readline()
    line = f.readline()
    line = line.replace("\n","")
    line = line.split(",")
    X = np.array(line[1].split(" "))
    X.reshape((48,48))
    print(X)

Вывод:

[['70' '80' '82' ... '52' '43' '41'] ['65' '61' '58' ... '56' '52' '44'] ['50' '43' '54' ... '49' '56' '47'] ... ['91' '65' '42' ... '72' '56' '43'] ['77' '82' '79' ... '105' '70' '46'] ['77' '72' '84' ... '106' '109' '82']]

Но я хочу вот что:

[[70 80 82 ... 52 43 41] ... [77 72 84 ... 106 109 82]]

Я видел некоторые трюки, подобные этому формату (но на самом деле это не так):

X = np.array(for I in eval(line[1].split(" ")))

Ответы [ 2 ]

1 голос
/ 03 мая 2019

Использование X = np.array(line[1].split(" ")).astype(np.int)

0 голосов
/ 03 мая 2019

ОК, я нашел ответ.

X = np.array(list(map(eval,line[1].split(" "))))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...