from csv import reader
nfl = list(reader(open("nfl.csv")))
或类似这样:
import csv
f = open("my_data.csv")
csvreader = csv.reader(f)
my_data = list(csvreader)
如果我以第一方式编写代码,这有什么不同吗?它和第二个一样快吗?在现实的企业生活中是如何写的?
答案 0 :(得分:2)
这两种方法都不理想,因为您要确保最后关闭文件。为此,您可以使用with
确保完成处理后关闭文件。这样可以避免可能会忘记在文件上调用.close()
的错误。可以在here中找到有关上下文管理器的更多信息。可以在documentation中找到示例。
所以,像这样:
with open('my_data.csv') as infile:
reader = csv.reader(infile)
data = list(reader)
但是,请注意,这会将文件的全部内容加载到内存中。如文档示例所示,如果不需要整个文件在内存中,则可以遍历reader
对象。