回答:我需要使用append而不是extend。由于fetchAirports函数没有在另一个类中实际运行getAirport方法,下面的代码仍然不起作用,因此我不建议尝试使用这些方法。在
TL,DR;我把用户输入输入到一个列表中并写入CSV文件。编写器将每个字符都写为元素,而不是每个字符串。在
我正在为我的HDip做一个作业,并决定让它变得更有趣一点。我们需要从CSV文件中读取机场列表,从另一个CSV中获取这些机场的数据,计算出最具成本效益的路线,并将最佳路线写入新的CSV。在
我决定让它变得更加有趣,允许用户输入自己的机场代码,将其写入CSV,或者使用现有的CSV文件。它不是将每个代码作为一个条目打印出来,而是输入每个字母。所以我收到一个文件,上面写着:
P,I,K,
E,D,I,
D,U,B,
A,A,L,
K,O,I,
我还不明白为什么会这样。相关代码如下。 主要:
^{pr2}$行程等级:
import os, csv
class Itinerary:
def __init__(self,aircraft='747', atlas=None):
self.iAtlas=atlas
self.iPlane=aircraft
self.iRoute=[] #route as a list of strings
self.iAirportRoute=[] #route as a list of Airport Objects
def createList(self,filename):
with open(os.path.join(filename), "w",newline='') as f:
writer=csv.writer(f,delimiter=",")
for airport in self.iRoute:
csvrow = []
csvrow.extend(airport)
writer.writerow(csvrow)
def fetchAirports(self):
for port in self.iRoute:
try :
#upps=port.upper()
self.iAirportRoute.append(self.iAtlas.getAirport)
except KeyError:
print("The following code", port, "is invalid")
def getItin(self, filename):
with open(os.path.join(filename),"rt",encoding="utf8") as f:
csvfilelines=csv.reader(f)
for row in csvfilelines:
try :
self.iRoute.extend(row)
except KeyError:
#If code isn't found , the airport won't be added to the dictionary
continue
如果你们能提供任何帮助,我们将不胜感激。在
目前没有回答
相关问题 更多 >
编程相关推荐