ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

csv追加写入的时候报错Permission denied

2021-09-10 09:30:03  阅读:234  来源: 互联网

标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有