3
我正在嘗試編寫一個快速python腳本來遍歷當前文件夾中的所有csv文件,並從中刪除標題行,然後將它們存儲在單獨的文件夾中。Python [Errno 13] Permission denied:
當前工作目錄有四個示例csv文件和python腳本。一旦執行該腳本將創建HeaderRemoved目錄。
看來,一旦文件夾被創建,試圖讀取文件的代碼正試圖訪問該文件夾,但看着代碼,我不知道爲什麼會這樣。
我現在在Windows機器上。
import csv, os, argparse, string
from ctypes import *
os.makedirs('HeaderRemoved', exist_ok=True)
# Loop through files in the current working directory
for csvFile in os.listdir('.'):
if not csvFile.endswith('.csv'):
continue # Skips non-csv files
print ('Removing header from ' + csvFile + '...')
# Read in CSV skipping the first row
csvRows = []
csvFileObj = open(csvFile)
csvReader = csv.reader(csvFileObj)
for row in csvReader:
if csvReader.line_num == 1:
continue # Skips the first row
csvRows.append(row)
csvFileObj.close()
# Write out the CSV file
csvFileObj = open (os.path.join('HeaderRemoved', csvFile), 'w', newline='')
for row in csvRows:
csvWriter.writerow(row)
csvFileObj.close()
輸出示例:
Removing header from examplefile_1.csv...
Removing header from examplefile_2.csv...
Removing header from examplefile_3.csv...
Removing header from examplefile_4.csv...
Traceback (most recent call last): File "atbs_csv_parse.py", line 14, in <module>
csvFileObj = open(csvFile) PermissionError: [Errno 13] Permission denied: 'HeaderRemoved'
狠抓壓痕。看看你的'csvFileObj =開放(csvFile)'是不是你的'爲csvFile在os.listdir內( ''):'塊?這意味着,你只打開了'for'循環認爲* *最後文件,無論是文件是否做了或沒有'.csv'擴展。 –
這與壓痕一個問題:文件夾'HeaderRemoved'可能是由'os.listdir'返回的最後一個文件,你試圖打開並刪除其中的頭_only_,不能打開爲CSV文件(它是一個文件夾)。因此,「權限被拒絕」錯誤。 –