标签:Permission csvwriter 报错 file denied test path csv os
是把对应的csv打开了,关闭之后运行就没问题,
把一个csv文件打乱顺序拆分为指定百分比的训练集和测试集,实现如下:
import csv
import os
import random
def split_csv(path, total_len, per):
# 如果train.csv和vali.csv存在就删除
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 = 0
for ind in csvreader:
if i in index:
# train.csv存放路径
csv_path = os.path.join("E:\\Server", 'U2S_fake_face_test_0909_train.csv')
# print(csv_path)
# 不存在此文件的时候,就创建
if not os.path.exists(csv_path):
with open(csv_path, 'w', newline='') as file:
csvwriter = csv.writer(file)
csvwriter.writerow(ind)
i += 1
# 存在的时候就往里面添加
else:
with open(csv_path, 'a', newline='') as file:
csvwriter = csv.writer(file)
csvwriter.writerow(ind)
i += 1
else:
# vali.csv存放路径
csv_path = os.path.join("E:\\Server", 'U2S_fake_face_test_0909_test.csv')
# print(csv_path)
# 不存在此文件的时候,就创建
if not os.path.exists(csv_path):
with open(csv_path, 'w', newline='') as file:
csvwriter = csv.writer(file)
csvwriter.writerow(ind)
i += 1
else:
with open(csv_path, 'a', newline='') as file:
csvwriter = csv.writer(file)
csvwriter.writerow(ind)
i += 1
print("训练集和验证集分离成功")
return
if __name__ == '__main__':
path = "E:/Server/U2S_fake_face_test_0909.csv"
total_len = len(open(path, 'r').readlines())# csv文件行数
per = 59# 分割比例%
split_csv(path, total_len, per)
标签:Permission,csvwriter,报错,file,denied,test,path,csv,os 来源: https://blog.csdn.net/qq_35037684/article/details/120214905
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。