【发布时间】:2015-11-28 23:00:58
【问题描述】:
我有一个包含大量数据的 .csv 文件。 我试图打开它:
import csv
filename = raw_input('Your filename: ')
with open(filename,'r') as myFile:
dataFromFile = csv.reader(myFile)
print dataFromFile
据我所知csv.reader 将文件中的数据转换为列表。
我想打开文件
2015-09-02_17:59:43.csv 但我得到以下错误:
IOError: [Errno 2] No such file or directory: '2015-09-02_17:59:43.csv '
好的,我google了一下,发现堆栈溢出问题如下:Trying to use open( filename, 'w' ) gives IOError: [Errno 2] No such file or directory: 所以我从那里尝试了解决方案。 但是后来我又遇到了一个错误:
OSError: [Errno 2] No such file or directory: ''
然后我将我的文件重命名为 timestamp.csv,因为我很好奇这个名称是否可能是一个问题并尝试了我的第一个解决方案。
突然间可以找到该文件,但作为打印输出,我得到以下信息:
<_csv.reader object at 0x104c88a60>。我想如果我打印出dataFromFile,它会显示整个列表。
所以这里的第一个问题是:<_csv.reader object at 0x104c88a60> 是否意味着该列表太长而无法显示,所以它只是告诉我我有什么对象?
第二个问题:为什么我之前的解决方法没有奏效?
我发现了一个小解决方法:
for currentRow in dataFromFile:
print currentRow
所以一行一行的打印出来。但不完全是我想要的。
最后但并非最不重要的一点是,我想将我的列表转换为 numpy 数组,最简单的方法是什么?
编辑 我已经为我的最后一个问题找到了答案和方法,我猜这很容易:
import numpy as np
np.array(dataFromFile)
【问题讨论】: