当前位置 : 首页 » 互动问答 » 正文

python导入csv函数

分类 : 互动问答 | 发布时间 : 2018-04-27 16:53:06 | 评论 : 1 | 浏览 : 25 | 喜欢 : 0

试图学习python,并开始尝试复制一些我用于日常生产力任务的powershell脚本。我想问你们为什么这个方法在python中不起作用:<defranslate> def csvIn(path):     导入csv     打开(路径)作为myFile:         csv = csv.reader(myFile)     返回csv a = csvIn('C:/Users/xxxxxx/Desktop/DL/add.csv') 对于行中的一个:     打印(行)

我试图编写一个导入CSV文件并将其输出放入列表(数组)的函数。如果我在函数调用之外调用import csv,整个事情就会起作用。当我从函数内部尝试时,我得到这个:“ValueError:关闭文件上的I / O操作。”

I'm trying to write a function that imports the CSV file and puts its output into a list (array). The whole thing works if I call the import csv outside of a function call. When I try it from inside the function, I get this: "ValueError: I/O operation on closed file."

回答(1)

  • 1楼
  • 因为with是一个上下文管理器,所以当程序到达返回行时,文件已经关闭了。

    建设性的建议是将它放到一个文件中:

     import csv
    PATH ='C:/Users/xxxxxx/Desktop/DL/add.csv'
    打开(PATH)作为myFile:
       h_csv = csv.reader(myFile)
       对于h_csv中的行:
          打印(行)
    

    编辑:按照要求,这里是一个函数的例子,但没有with:

     import csv
    
    def csvIn(路径):
        myFile =打开(路径)
        h_csv = csv.reader(myFile)
        返回h_csv
    
    a = csvIn('C:/Users/xxxxxx/Desktop/DL/add.csv')
    
    对于行中的一个:
        打印(行)

相关阅读: