python 利用pandas库实现 读写 .csv文件

最近在处理ILSVRC12数据集,有一个需求就是将图片路径和标签写入.csv文件中,这里我们用到了pandas库,当然也有不用pandas库的方法,这里不再介绍,因为pandas处理起来是真的香

1.写入CSV文件。话不多说,我们直接在上代码,并在代码里解释

def create_csv_for_val(): 
    image_path = 'G:\\ILSVRC2012\\ImageNet\\ILSVRC2012_img_val'
    label_path = 'G:\\ILSVRC2012\\ImageNet\\ILSVRC2012_devkit_t12\\data\\ILSVRC2012_validation_ground_truth.txt'
    f = open(label_path,'r')
    
    #这里定义每一列的列头
    a = "path"
    b = "wordnet_id"
    
    image_data = os.listdir(image_path)
    ab_image_path = []
    for i in image_data: #获取图片绝对路径组成的list:ab_image_path
        i = os.path.join(image_path,i)
        ab_image_path.append(i)
  
    label_data = f.readlines() #获取图片label组成的list:label_data 
    
    #构建一个写入函数,参数为要写入的内容,即列头和list型的数据
    dt = pd.DataFrame({a:ab_image_path, b:label_data})
    #利用to_csv函数写入相应文件
    dt.to_csv("val_csv1.csv",index = False,sep=',')

最重要的就是列头,数据(list),以及写入函数的定义,大家可以将上面的代码进行改编,来生成自己的csv文件

2.读取CSV文件

path = 'xx/xxx/xx.csv'
metadata = pd.read_csv(path)
metadata = metadata.sample(frac=1)

for T in metadata.itertuples():
    print(T.a, T.b)   #这里的a,b大家要自己替换为相应的 列头 数据

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值