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=',')
應該是足夠了(即文件名和分隔符)。
請編輯你的問題,包括你已經嘗試過。 –
如果您使用的是熊貓,請將該標記置於您的問題或其他包中 –
您確定文件Data.csv與python腳本位於完全相同的目錄中嗎? –