将信息保存为.txt,多个list保存在一个sheet下的.csv

该篇博客介绍了如何将print信息保存到TXT文件以及如何将多个列表保存到CSV文件中。具体步骤包括利用Python的open函数以追加模式写入TXT,使用pandas的DataFrame和to_csv方法生成CSV文件,同时涉及数据的预处理和分类。此外,还展示了遍历文件夹,读取.npy文件,计算占比并进行分类的过程。
摘要由CSDN通过智能技术生成

1.将print的信息保存到txt文件

		# fp = open(r'D:\Work\Datasets\samples\recode.txt', "a+")  # a+ 如果文件不存在就创建。存在就在文件内容的后面继续追加
        # print("N is :",N)
        # print("image is :",datanameList[N])
        # print("label is :", labelnameList[N])
        # print("N is :", N,"\nimage is :",datanameList[N],"\nlabel is :",labelnameList[N],file=fp)
        # fp.close()

2.多个list保存在一个sheet下的.csv

		#1.先创建所需几列的信息,则对应几个list(省略)
		#2.使用append()将所学的list内容拼起来
	    pathnamelist.append(pathname)
        filenamelist.append(filename)
        percentlist.append(percent)
        classificationlist.append(classification)
        #3.设置字典格式
        output_excel = {'pathname': [], 'filename': [], 'percent': [],'classification': []}
        #4.将list保存相应字典格式
        output_excel['pathname'] = pathnamelist
        output_excel['filename'] = filenamelist
        output_excel['percent'] = percentlist
        output_excel['classification'] = classificationlist
        #5.使用pd包存,to_csv保存为.csv文件(可先创建空的)
        output = pd.DataFrame(output_excel)
        output.to_csv(r'D:\Work\Datasets\samples\train_file.csv', index=False)
        print('\r[ %d / %d]' % (i, len(labelnameList)), end='')##展示进程
**

## 完整代码如下:本次任务是将一系列文件按一定条件保存,再读csv文件导出相应文件

**
Exsit_training_path = r'D:\Work\Datasets\samples\train\\'
#   Exsit_val_path = r'D:\Work\Datasets\samples\debug_loss\val\\'
#   Exsit_test_path = r'D:\Work\Datasets\samples\debug_loss\test\\'
    datanameList = sorted(glob.glob(os.path.join(Exsit_training_path, '*0.npy')))
    labelnameList = sorted(glob.glob(os.path.join(Exsit_training_path, '*seg.npy')))
    datanameList.sort()
    labelnameList.sort()
    pathnamelist=[]
    percentlist=[]
    filenamelist=[]
    classificationlist=[]
    for i in range(len(labelnameList)):
        data_arr = np.load(datanameList[i])
        label_arr = np.load(labelnameList[i])
        #判断占比
        label_arr_sum=label_arr.sum()
        percent=(label_arr_sum/4096)*100
        if percent==0 and data_arr.sum()==0:
            classification="BackGround"
        elif percent==0 and data_arr.sum()!=0:
            classification="tissue"
        elif percent!=0:
            classification="vessel"
        #保存
        # np.save("../data/arr.npy", data_arr)
        # np.save("../data/arr.npy", label_arr)
        #存为list


        # datalist.append(data_arr)
        # labellist.append(label_arr)
        ##保存为excel----pathname,filename,percent
        pathname=str(labelnameList[i]).split('train')[0]+'train\\'
        filename=str(labelnameList[i]).split('train\\')[-1]

        pathnamelist.append(pathname)
        filenamelist.append(filename)
        percentlist.append(percent)
        classificationlist.append(classification)
        output_excel = {'pathname': [], 'filename': [], 'percent': [],'classification': []}

        output_excel['pathname'] = pathnamelist
        output_excel['filename'] = filenamelist
        output_excel['percent'] = percentlist
        output_excel['classification'] = classificationlist
        output = pd.DataFrame(output_excel)
        output.to_csv(r'D:\Work\Datasets\samples\train_file.csv', index=False)
        print('\r[ %d / %d]' % (i, len(labelnameList)), end='')

导出相应文件:(待续)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值