读取,跨不同目录编写csv文件

时间:2018-05-22 19:50:45

标签: python csv operating-system glob

我有一个位于文件夹C:\ D1 \ D1a \ D1b中的Python文件。另一个文件夹,比如C:\ D2 \ D2a \ D2b包含在不同时间创建的一些csv文件。 第一步,我需要从文件夹C:\ D2 \ D2a \ D2b中找到最新的csv文件。 第二步,我必须打开特定的csv文件(使用csv.reader)并根据其内容执行一些计算。 如果csv文件与python文件在同一个文件夹中,我的程序运行得很好,但是当我尝试跨不同的文件夹工作时会崩溃。这两个文件夹可以位于计算机中的任意位置。 我的系统是Win10,我更喜欢python中的简单解决方案。 简化的代码是:

import csv
import glob
import os

list_of_files = glob.glob('C:\D2\D2a\D2b\*.csv')
print('found csv files:',list_of_files)
latest_file = max(list_of_files, key=os.path.getmtime)
print('The most recent .csv file found:',latest_file,'\n')

with open('latest_file',newline='') as DAQfile:
    reader=csv.reader(DAQfile,delimiter=',')
    i=0
    for row in reader:
        i+=1
    rows=i
print(rows)

输出结果为:

found csv files: ['C:\\D2\\D2a\\D2b\\Book1.csv', 'C:\\D2\\D2a\\D2b\\Book2.csv']
The most recent .csv file found: C:\D2\D2a\D2b\Book2.csv 

Traceback (most recent call last):
  File "C:\D1\D1a\D1b\Mytest.py", line 10, in <module>
    with open('latest_file',newline='') as DAQfile:
FileNotFoundError: [Errno 2] No such file or directory: 'latest_file'

1 个答案:

答案 0 :(得分:0)

糟糕!看来 open 语句中 latest_file 周围的引号导致了问题。它现在有效。