如何在不使用引号m的情况下将csv文件读入numpy数组

2024-04-24 23:58:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想读取csv文件中的数据,并做一些格式。但我忘记了在将数据重新格式化为numpy数组后如何删除“”、“”。我以前看到过在一行中使用eval()的技巧。但我现在找不到。你知道吗

My csv file data looks like:

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(" ")))


Tags: csv数据importnumpy技巧datareadlineas