我是python的新手。...
关于Stackoverflow,关于将csv文件读入列表有很多答案,而我曾经使用它来获得以下内容:
#opens the csv file and reads in the data
filepath = 'Online Retail.csv'
spent = 0
with open(filepath) as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
然后,我可以遍历readCSV
变量并获得一些结果...很棒。我的问题还在于通过代码我想再次访问readCSV列表,但是它已关闭,并且出现错误:
对已关闭文件的I / O操作。
如果需要,如何再次引用readCSV
变量。还是有更好的方法导入数据,使其仅发生一次,然后我可以随时在脚本中提取所需的任何数据?
我正在使用Visual Studio代码。
答案 0 :(得分:0)
您需要定义模式(读,写或追加),因此,在这里,您在读取文件时需要使用with open
编写的读模式:
with open(filepath, "r") as csvfile:
如果csvfile是文件对象,则必须在有区别的平台上使用“ b”标志打开它。
with open(filepath, "rb") as csvfile:
答案 1 :(得分:0)
那样,您只能访问with
内的csv文件。该文件在with
块结尾处关闭。
with open(filepath) as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
# you can access the file here
# you cannot access the file here
如果需要它来进一步访问文件,则可以将其保存在list
或dict
中,或者如果其中包含大量数据,请使用pandas打开< / p>
import pandas as pd
file = pd.read_csv(filepath)