2016-07-09 30 views
0

我是Python的新手。我无法在iPython shell中打开我的csv文件,尽管我可以在Spyder中打开我的文件。我怎样才能保存一个csv或任何其他文件,以供Spyder和iPython使用?如何保存csv文件,以便iPython shell可以打开并使用它?

例如,我试过开放和读取文件

DATA_data = open('Data.csv') 

DATA_reader = (pd.read_csv(Data), ',') 

print DATA_reader 

,我会得到这个错误信息:

IOError: [Errno 2] No such file or directory: 'Data.csv' 

另外,我怎么能确保CSV文件是在与我的Python脚本相同的导演?

+1

请编辑你的问题,包括你已经尝试过。 –

+0

如果您使用的是熊猫,请将该标记置于您的问题或其他包中 –

+1

您确定文件Data.csv与python脚本位于完全相同的目录中吗? –

回答

1

A csv文件是纯文本,所以几乎任何代码都可以读取它。通过ipython,你可以用shell命令,Python阅读,或者numpy或pandas阅读它。

知道文件位于何处的第一个问题。这是一个文件系统问题 - 目录是什么。在ipython中,您可以使用%pwd魔术查看当前目录,并使用%cd更改目录。 %ls给出了目录列表。通过magics,您可以使用linux shell(如bash)(以及带有一些术语调整的窗口)的所有文件和目录操作。

一旦找到,你可以看看与%cat

例如文件:

In [26]: %pwd 
Out[26]: '/home/paul' 
In [27]: %ls 
~/ Desktop/ Downloads/ mypy/  Public/  Videos/ 
bin/ Documents/ Music/  Pictures/ Templates/ 
In [28]: %cd mypy 
/home/paul/mypy 
In [29]: %ls test* 
test  test2.hdf test.h5 test.ipy test.mat test.npz 
test1.hdf test.gz test.hdf5 testipy.py test.npy test.txt 
In [30]: %cat test 
     one   a   1 
     two   b   2 
    three   c   3 

普通的Python阅读:

In [34]: f=open('test') 
In [35]: f.read() 
Out[35]: '  one   a   1\n  two   b   2\n  three   c   3\n' 
In [36]: f.close() 

np.genfromtxt是最强大的numpy CSV阅读:

In [38]: np.genfromtxt('test',dtype=None) 
Out[38]: 
array([(b'one', b'a', 1), (b'two', b'b', 2), (b'three', b'c', 3)], 
     dtype=[('f0', 'S5'), ('f1', 'S1'), ('f2', '<i4')]) 

在这种情况下,我得到了一个结构化dtype的1d数组 - 因为字符串和数字列的组合。在这种情况下,我的分隔符是空格。

loadtxt

In [40]: np.loadtxt('test',dtype='str') 
Out[40]: 
array([["b'one'", "b'a'", "b'1'"], 
     ["b'two'", "b'b'", "b'2'"], 
     ["b'three'", "b'c'", "b'3'"]], 
     dtype='<U8') 

我没有pandas本机上安装所以不能证明,但我认为data = pd.read_csv('data.csv', delimiter=',')应该是足够了(即文件名和分隔符)。

相关问题