生活随笔
收集整理的這篇文章主要介紹了
csv追加写入的时候报错Permission denied
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
是把對應的csv打開了,關閉之后運行就沒問題,
把一個csv文件打亂順序拆分為指定百分比的訓練集和測試集,實現如下:
import csv
import os
import random
def split_csv(path
, total_len
, per
):if os
.path
.exists
('E:/Server/U2S_fake_face_test_0909_train.csv'):os
.remove
('E:/Server/U2S_fake_face_test_0909_train.csv')if os
.path
.exists
('E:/Server/U2S_fake_face_test_0909_test.csv'):os
.remove
('E:/Server/U2S_fake_face_test_0909_test.csv')with open(path
, 'r', newline
='') as file:csvreader
= csv
.reader
(file)train_num
= round(total_len
* per
/ 100)index
= random
.sample
(list(range(total_len
)), train_num
)print('index', len(index
), index
,)i
= 0for ind
in csvreader
:if i
in index
:csv_path
= os
.path
.join
("E:\\Server", 'U2S_fake_face_test_0909_train.csv')if not os
.path
.exists
(csv_path
):with open(csv_path
, 'w', newline
='') as file:csvwriter
= csv
.writer
(file)csvwriter
.writerow
(ind
)i
+= 1else:with open(csv_path
, 'a', newline
='') as file:csvwriter
= csv
.writer
(file)csvwriter
.writerow
(ind
)i
+= 1else:csv_path
= os
.path
.join
("E:\\Server", 'U2S_fake_face_test_0909_test.csv')if not os
.path
.exists
(csv_path
):with open(csv_path
, 'w', newline
='') as file:csvwriter
= csv
.writer
(file)csvwriter
.writerow
(ind
)i
+= 1else:with open(csv_path
, 'a', newline
='') as file:csvwriter
= csv
.writer
(file)csvwriter
.writerow
(ind
)i
+= 1print("訓練集和驗證集分離成功")return
if __name__
== '__main__':path
= "E:/Server/U2S_fake_face_test_0909.csv"total_len
= len(open(path
, 'r').readlines
())per
= 59split_csv
(path
, total_len
, per
)
總結
以上是生活随笔為你收集整理的csv追加写入的时候报错Permission denied的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。