Python读取CSV文件

时间:2018-11-01 15:41:43

标签: python

我是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代码。

2 个答案:

答案 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

如果需要它来进一步访问文件,则可以将其保存在listdict中,或者如果其中包含大量数据,请使用pandas打开< / p>

import pandas as pd

file = pd.read_csv(filepath)