python | 使用python初步处理文件数据就那么简单!(本文以处理excel和目录为例)

写在前面

本文使用的python版本是python2.7.18

一、对目录(文件夹)和文件的处理

依赖库:

import os
import sys

1.1 明确需求

要求:将data文件中的每个子文件夹下的txt文件都根据子文件夹的名称命名。然后所有的文件都转存到另一个目录中,且原目录中的文件所有数据不变。

在这里插入图片描述

1.2 进入目录找数据

我在这里设定:去具有多个目录里去寻找数据,也就是说,每个目录里都有自己需要操作的数据

#进入每个子目录
for son_dir in dir:
    #拼接子目录
    i = 1
    #拼接目录,path为子目录
    path = os.path.join(dir, son_dir)
    path_file = path
	for file in os.listdir(path_file):
        #判断是否有文件:
        opr_file = os.path.join(path_file,file)
        print file
        #目标文件是否
        if os.path.isfile(opr_file) and ".txt" in file:
            #拼接
            file_path = os.path.join(path_file, file)
            print file_path
            #另存为shutil.copy()
            shutil.copy(file_path, toDir)
            #新字符串拼接
            new_file_path = os.path.join(toDir, file)
            #设置新文件名
            new_name=new_file_path.replace(new_file_path,"mytext%d-%d.txt"%(ans_dir[j],i))
            #重命名
            os.rename(os.path.join(toDir,file),os.path.join(toDir,new_name))
            i += 1
	j += 1
print ("End")

这段代码中的几个核心是:

  1. os.path.join(字符串1,字符串2):拼接字符串称为一个新的目录地址或文件地址
  2. os.listdir(路径):将路径下的所有目录名称输出为列表
  3. shutil.copy(A,B):将文件从地址A,复制到地址B
  4. replace(A,B):设执行的文件名,把原来的文件名A设置为后面的字符串B
  5. os.rename(A,B):把A的名字修改为B的名字

二、对excel数据表的处理

import xlrd

对excel表的操作比较 容易,常用到的有以下几种方法:

  1. xlrd.open_workbook(路径):打开excel文件的方法
  2. excel.sheet_by_name("device_info"):根据查找工作表名称的方法找到需要的工作表。当然python也提供根据先后顺序的索引的方法。(excel是xlrd.open_workbook得到的名称)
  3. device_info.nrow:获取工作表的行数(device_info是工作表的名称)
  4. device_info.cell(device_info_row,0).value:获取某一个cell里的数据
#coding=utf-8
import xlrd

#打开excel表
test = xlrd.open_workbook("./data/test.xlsx")
#选择工作表
name = test.sheet_by_name("test")
#得到总行数
rows = name.nrows
ans = {}
#遍历每一条数据
for row in range(0,rows):
    key = int(name.cell(row,0).value)
    value = str(name.cell(row,1).value)
    ans[key] = value
print ans

本文代码和数据的免费下载链接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_之桐_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值