• 根据一个规律文本提取出数据框


    内容:今天主要用python实现一个csv格式的规则文本转化为DataFrame的过程,实际Pandas.read_csv(file)可以直接生成;

    win.csv格式:

    PC端来源   Dule    
    来源名称 访客数 占比 浏览量 占比
    淘宝搜索 2302 0.6202 3071 0.6255
    天猫搜索 488 0.1315 640 0.1303
    直接访问 232 0.0625 302 0.0615
    已买到商品 154 0.0415 208 0.0424
    淘宝客 141 0.038 188 0.0383
    淘宝站内其他 116 0.0313 142 0.0289
    购物车 106 0.0286 151 0.0308
    宝贝收藏 64 0.0172 82 0.0167
    直通车 51 0.0137 58 0.0118
    淘宝其他店铺 12 0.0032 13 0.0026

    难点1:怎么将截片,选择正确的截片方式,让截得的结果能够跟read_csv相同;

    难点2:可维护性,通过columes,names只要是矩形,都可以动态显示。

    import pandas as pd
    import numpy as np
    
    def strToD(x):
        str1 = x.split('
    ')[0]
        return str1
     
    def setDF(file):   
        strings = open(file,'r+').readlines()
        open(file,'r+').close()
        names = [];
        data = []
        columes = [];
        for string1 in strings[1:len(strings)]:
            hang = string1.split(',')
            for element in np.arange(0,len(hang)):
                hang[element] = strToD(hang[element])
            if(string1 == strings[1]):
                columes = string1.split(',')[1:len(string1)]
            else:
                data.extend(hang[1:len(hang)])
                names.append(hang[0])
        for d in np.arange(0,len(data)):
            data[d] = float(data[d])
        dd = np.array(data)
        dd.shape = len(names),len(columes)
        df = pd.DataFrame(dd,names,columes)
        return df
    print (setDF('C:\Users\白于空\Desktop\0802\win.csv'));


    下面给出结果

    >>> runfile('C:/Users/白于空/Documents/Python Scripts/setDF.py', wdir='C:/Users/白于空/Documents/Python Scripts')
               访客数      占比     浏览量    占比
    淘宝搜索    2302.0  0.6202  3071.0  0.6255
    天猫搜索     488.0  0.1315   640.0  0.1303
    直接访问     232.0  0.0625   302.0  0.0615
    已买到商品    154.0  0.0415   208.0  0.0424
    淘宝客      141.0  0.0380   188.0  0.0383
    淘宝站内其他   116.0  0.0313   142.0  0.0289
    购物车      106.0  0.0286   151.0  0.0308
    宝贝收藏      64.0  0.0172    82.0  0.0167
    直通车       51.0  0.0137    58.0  0.0118
    淘宝其他店铺    12.0  0.0032    13.0  0.0026
    >>> 


  • 相关阅读:
    输出python的help结果到文件中
    webdriver 的三种等待方式
    Loadrunner 怎么将response的数据下载下来
    Loadrunner web_reg_find 和web_reg_save_param 比较
    LR的响应时间与使用IE所感受时间不一致的讨论
    Loadrunner错误-26601、-27492、-27727处理方法
    loadrunner运行乱码解决方法
    OpenGL ES: (1) OpenGL ES的由来 (转)
    JPG:文件格式系列科普之.JPEG/.JPG(转)
    单色位图、16色位图、256色位图的含义
  • 原文地址:https://www.cnblogs.com/actanble/p/6713456.html
Copyright © 2020-2023  润新知