2015-10-20 92 views
-2

我是Python的新手,並且在嘗試讀取.csv文件時遇到了可怕的時間。我使用的代碼如下:在Python中讀取文件錯誤

>>> dat = open('blue.csv','r') 
>>> print dat() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: 'file' object is not callable 

誰能幫我診斷此錯誤或借給如何讀取該文件有什麼建議?對不起,如果已經有這個問題的答案,但我似乎無法找到它。

+3

您是否閱讀過[文檔](https://docs.python.org/2/library/csv.html)?有一堆例子。或者也許是[CSV模塊上的Python MOTW](https://pymotw.com/2/csv/)?還有更多的例子。 – skrrgwasme

+0

所以當我使用'print dat'時,我得到以下'>>> print dat <打開文件'trims.csv',模式'r'在0x6fffff496f0>'但我期待看到我的數據來自.csv – user6291

+1

'print dat.readlines()'或'.read()'。 –

回答

1

可以read文件:

dat = open('blue.csv', 'r').read() 

或者你可以打開文件爲csv並逐行讀取它:

import csv 
infile = open('blue.csv', 'r') 
csvfile = csv.reader(infile) 
for row in csvfile: 
    print row 
    column1 = row[0] 
    print column1 

查看csv docs以獲取有關使用csv文件的更多選項。

+0

我是否必須指定文件的路徑?還是python搜索到處? – user6291

+0

@ZERO如果你只是指定了這樣的路徑:'infile = open('blue.csv','r')','blue.csv'文件需要和你的腳本在同一個目錄下。換句話說,你正在爲你的腳本設置一個相對路徑*。你也可以像這樣'infile = open('/ Users/ZERO/pythonproject/blue.csv','r')'設置文件的* absolute *路徑。 – chishaku

+0

太棒了,非常感謝您的幫助。 – user6291

3

您需要使用read,以讀取文件

dat = open('blue.csv','r') 
print dat.read() 

或者,你可以使用with爲自閉

with open('blue.csv','r') as o: 
    data = o.read() 
+0

所以我不應該使用''w''國旗? – user6291

+1

@ZER'w'標誌用於寫入文件。 'r'用於讀取 – Wondercricket