python处理数据方法(一)

一、获取路径
注释很详细了

#导入OS模块
import os
#待搜索的目录路径
path =r"C:\Users\*****\Desktop\*******\整理并清洗过的数据\筛选过后"
#待搜索的名称
#定义保存结果的数组
result = []

def findfiles(files_path, files_list):
    #查找文件代码
    files = os.listdir(files_path)#listdir指的是找寻当前目录下全部文件和文件夹
    for s in files:
        s_path = os.path.join(files_path, s)#将找到的文件名或者文件夹名与files_path连接起来
        if os.path.isdir(s_path): #如果是目录,循环调用该函数
            findfiles(s_path, files_list)
        elif os.path.isfile(s_path):#如果是文件,存入结果
            result.append(s_path)
    #print(files_list)
    #print(result)

if __name__ == '__main__':
    findfiles(path,result)
    dict2020=[]
    for i in range(len(result)):
        #print(result[i])
        #check_result=result[i][-12:]
        #print(check_result)
        dict2020.append(result[i])
    print(dict2020)
    print(len(dict2020))

然后就可以从文件路径中读取文件了,with open(i, 'r',encoding='gb18030') 注意“rb”是以二进制的方式打开,encoding是读取文件的编码方式。可以用记事本打开文件,看是utf-8还是gbk,文档格式是windows还是unix,可以下载一个notepad++进行转换。

有的文件读取时还会出现莫名其妙的错误,比如文档格式是windows,编码也是gbk,可就是报字符解析错误,无法读取文件。此时可以将这一句换成这个input = open(input_path,"r",encoding="gbk",errors="ignore") 忽视非法字符的错误,一般都可以了

读取文件时还可以用pandas

  data = pd.read_csv(e,encoding="gb18030",usecols=[15])#读取文件的第15列(从0开始)也可以[6,8,15]同时读取多列

也可以全部读取出来,然后选取列名挑出数据

name=['生产厂家']
test=pd.DataFrame(columns=name,data=list)

读取来的data时Dataframe的格式
将其转换为list:

    valuesd=data.drop_duplicates()#去重
    value2=valuesd.values.flatten()
    value3=value2.tolist()

对列表进行排序

sorted(dict2020_num,reverse=True)#按照从大到小的顺序排列

对列表进行计数

num=list_procut.count("*******")
print(num)

将两个列表合为一个字典

d = dict(zip(list_procut, product_num))

对合成后的字典进行排序

d_order=sorted(d.items(),key=lambda x:x[1],reverse=True)#按照第2位的数值来排序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值