我不太了解使用OOP。我正在尝试创建一个打印机类,我可以随时调用,但我没有太多运气。较大的程序使用程序编程很容易,但这样会更有效。
class data():
def __init__(self):
import os
import csv
self.new_list = []
os.chdir('C:\Users\U2970\Documents\ArcGIS')
with open('roadlog_intersection_export_02_18_2014_2.csv', 'rb') as f:
reader = csv.reader(f)
for row in reader:
self.new_list.append(row)
def printer(self):
print self.new_list
out = data()
out.printer()
答案 0 :(得分:0)
我很难理解你的问题究竟是什么,但我可以给你一些关于你的代码和oop的反馈。
首先,您通常不希望对对象中的值进行硬编码,因为这样只会对非常有限的应用程序有用。我建议包含一个load()
函数加载到一个文件中,然后一个printer()
函数,然后打印当前加载的任何函数。
这看起来像这样:
class data(object):
def __init__(self):
self.current_list = None
def load_file(self, filename):
self.current_list = list(csv.reader(open(filename, 'r')))
def printer(self):
print(self.current_list)
您可以像这样使用它:
out = data()
data.load('C:\Users\U2970\Documents\ArcGIS\roadlog_intersection_export_02_18_2014_2.csv')
data.printer()
另请考虑使用qGIS而不是ArcGIS。
如果你想把它作为一个函数来做(没有真正的理由去写这么浅的包装器)你可以这样做:
def print_csv(filename):
print list(csv.reader(open(filename, 'r')))
print_csv('C:\Users\U2970\Documents\ArcGIS\roadlog_intersection_export_02_18_2014_2.csv')