2016-12-30 46 views
1

我在目錄中有CSV文件,我想打開它們中的每一個並閱讀第一列。這裏是我的代碼:讀取目錄中的所有csv文件

directory = os.path.join("c:\\","/Users/user/My Documents/test/") 
for root,dirs,files in os.walk(directory): 
    for file in files: 
      f = open(file, 'r') 
      reader = csv.reader(f) 
      for row in reader: 
       print(row[0]) 

當我運行它,我得到了一個錯誤:

FileNotFoundError: [Errno 2] No such file or directory : 'file1.csv' 

任何想法,爲什麼?

回答

0

我弄清楚如何解決它:

directory = os.listdir('/Users/user/My Documents/test/') 
os.chdir('/Users/user/My Documents/test/') 
for files in directory: 
      with open(files, 'r')as f: 
      reader = csv.reader(f) 
      for row in reader: 
       print(row[0]) 
0

它發生,因爲os.walk通過所有子目錄遞歸地走了。所以你的代碼不應該假設所有文件都在當前目錄中。

directory = os.path.join("c:\\","/Users/user/My Documents/test/") 
for root,dirs,files in os.walk(directory): 
    for file in files: 
     f = open(os.path.join(root, file), 'r') # I have considered root path too 
     reader = csv.reader(f) 
     for row in reader: 
      print(row[0])