2015-10-20 113 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