目前,我正在尝试使用python中的csv模块读取csv文件。当我运行下面的代码时,我得到一个错误,指出该文件不存在。我的第一个猜测是,可能我将文件保存在错误的位置,或者需要为pyton提供文件路径。目前,我已将文件保存在C:\ Documents and Settings \ eag29278 \ My Documents \ python测试代码\ test_satdata.csv中。
一侧说明,请注意,将模式设置为“ rb”(读取二进制)是正确的做法。
import csv
with open('test_satdata.csv', 'rb') as csvfile:
satreader = csv.reader(csvfile, delimiter=' ', lineterminator=" ")
for row in satreader:
print ', '.join(row)
Run Code Online (Sandbox Code Playgroud)
这是错误代码。
Traceback (most recent call last):
File "C:/Python27/test code/test csv parse.py", line 2, in <module>
with open('test_satdata.csv', 'rb') as csvfile:
IOError: [Errno 2] No such file or directory: 'test_satdata.csv'
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用21列和大量行对数据集进行分类.我已经达到了可以将数据作为csv导入并打印出单独列的程度.我还有两件事要做.首先,我希望能够打印出特定的数据点.例如,位于第2行第4列的数据点.第二个任务是根据第4列和第5列对数据行进行分类.这些列是纬度和经度.而我正在尝试获取世界特定部分的行.所以我的想法就是这样
if 60 > row[4] > 45 and 165 > row[1] > 150:
Run Code Online (Sandbox Code Playgroud)
即(如数学运算(9> x> 5))
我不确定上述程序的正确方法是什么.
我已将代码粘贴到底部.我是python编程的新手,所以随时指出错误.
import csv
path = r'C:\Documents and Settings\eag29278\My Documents\python test code\test_satdata.csv'
with open(path, 'rb') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
print row [0]
#this prints out the first column
var1 = []
for row in f:
if 60 > row[4] > 45 and 165 > row[1] > 150:
var1.append(row)
print var1
Run Code Online (Sandbox Code Playgroud)
更新1
好吧所以我更新了代码,但是当我运行模块时,我得到了这个输出..
2010 2010 2010 2010 2010 2010 …