我有一个文件,其中包含美国每个邮政编码,城市和州的列表。当我读到一个列表时,它看起来像" '00501', 'Huntsville', 'NY'
"。
所以我在Python中尝试做的是:
打开文件,阅读everysingle line,拆分行,然后创建3个新列表Zip,City,State,并将原始列表中的所有数据放入新列表中。
到目前为止,我有以下代码:
def main():
zipcode = []
city = []
state = []
file_object = open("zipcodes.txt", "r")
theList = file_object.readlines()
splitlist = theList.split(',')
zipcode.append(splitlist[0])
city.append(splitlist[1])
state.append(splitlist[2])
file_object.close()
答案 0 :(得分:0)
你有基础,你只是错过了一个循环,所以该过程重复文件中的每一行:
theList = file_object.readlines()
for line in theList:
splitlist = line.split(',')
zipcode.append(splitlist[0])
city.append(splitlist[1])
state.append(splitlist[2])
请注意,readlines()
会返回整个文件,以便您的theList
包含整个文件的内容。你只需要循环它。
以下是您可以尝试的其他版本:
def main():
zips = []
cities = []
states = []
with open('zipcodes.txt', 'r') as f:
for line in f:
bits = line.split(',')
zips.append(bits[0])
cities.append(bits[1])
states.append(bits[2])
with_statement
是一种读取文件的方法。它确保文件自动关闭。
for line in f:
循环是您在代码中缺少的循环 - 这将遍历每一行。
for循环的主体正是你所写的,所以那部分你已经很好了。