精华内容
下载资源
问答
  • Python将自己的图片数据导入h5py,做识别的预处理

    万次阅读 多人点赞 2018-03-21 15:45:13
    将自己的图片数据导入h5py,所占空间小,使用方便条件:自己的图片,eg:cats VS dogs,并将两类图片分别放置于两个文件夹(我这里是yes_tumble与not_tumble)import os import numpy as np from PIL import Image ...

    很多情况下,在训练卷积神经网络时,需要将自己的图片作为卷积神经网络的输入。

    将自己的图片数据集导入h5py,所占空间小,使用方便

    条件:自己的图片,eg:cats VS dogs,并将两类图片分别放置于两个文件夹(我这里是yes_tumble与not_tumble)

    import os
    import numpy as np
    from PIL import Image
    import tensorflow as tf
    import matplotlib.pyplot as plt
    import sklearn
    from sklearn import preprocessing
    import h5py
    import scipy
    #导入必要的包
    def get_files(file_dir):
        cats = []
        label_cats = []
        dogs = []
        label_dogs = []
        
        for file in os.listdir(file_dir+'/not_tumble'):
                cats.append(file_dir +'/not_tumble'+'/'+ file) 
                label_cats.append(0)     #添加标签,该类标签为0,此为2分类例子,多类别识别问题自行添加
        for file in os.listdir(file_dir+'/yes_tumble'):
                dogs.append(file_dir +'/yes_tumble'+'/'+file)
                label_dogs.append(1)
                
        #把cat和dog合起来组成一个list(img和lab)
        image_list = np.hstack((cats, dogs))
        label_list = np.hstack((label_cats, label_dogs))
    
        #利用shuffle打乱顺序
        temp = np.array([image_list, label_list])
        temp = temp.transpose()
        np.random.shuffle(temp)
    
        #从打乱的temp中再取出list(img和lab)
        image_list = list(temp[:, 0])
        label_list = list(temp[:, 1])
        label_list = [int(i) for i in label_list] 
        
        return  image_list,label_list
        #返回两个list 分别为图片文件名及其标签  顺序已被打乱
    
    train_dir = 'F:/CSISA_Picture'
    image_list,label_list = get_files(train_dir)
    
    print(len(image_list))
    print(len(label_list))
    #450为数据长度的20%
    Train_image =  np.random.rand(len(image_list)-450, 64, 64, 3).astype('float32')
    Train_label = np.random.rand(len(image_list)-450, 1).astype('float32')
    
    Test_image =  np.random.rand(450, 64, 64, 3).astype('float32')
    Test_label = np.random.rand(450, 1).astype('float32')
    for i in range(len(image_list)-450):
        Train_image[i] = np.array(plt.imread(image_list[i]))
        Train_label[i] = np.array(label_list[i])
    
    for i in range(len(image_list)-450, len(image_list)):
        Test_image[i+450-len(image_list)] = np.array(plt.imread(image_list[i]))
        Test_label[i+450-len(image_list)] = np.array(label_list[i])
    
    
    # Create a new file
    f = h5py.File('data.h5', 'w')
    f.create_dataset('X_train', data=Train_image)
    f.create_dataset('y_train', data=Train_label)
    f.create_dataset('X_test', data=Test_image)
    f.create_dataset('y_test', data=Test_label)
    f.close()
    
    # Load hdf5 dataset
    train_dataset = h5py.File('data.h5', 'r')
    train_set_x_orig = np.array(train_dataset['X_train'][:]) # your train set features
    train_set_y_orig = np.array(train_dataset['y_train'][:]) # your train set labels
    test_set_x_orig = np.array(train_dataset['X_test'][:]) # your train set features
    test_set_y_orig = np.array(train_dataset['y_test'][:]) # your train set labels
    f.close()
    
    print(train_set_x_orig.shape)
    print(train_set_y_orig.shape)
    
    print(train_set_x_orig.max())
    print(train_set_x_orig.min())
    
    print(test_set_x_orig.shape)
    print(test_set_y_orig.shape)
    
    #测试
    plt.imshow(train_set_x_orig[222])
    print(train_set_y_orig[222])
    






    展开全文
  • H5 数据展示系统

    2021-03-28 18:35:03
    在软件中支持 h5 数据导入、修改、删除等操作,同时可以从 h5 数据文件中读取相关数据在软件中以数据表和二维图的形式展示其数据。 软件主要是将 h5 数据文件信息通过分类的方式将数据文件信息保存在达梦数据库中,...

    H5Data

    介绍

    H5 数据展示软件是用于展示 h5 数据文件中数据并且管理数据文件的软件。在软件中支持 h5 数据导入、修改、删除等操作,同时可以从 h5 数据文件中读取相关数据在软件中以数据表和二维图的形式展示其数据。

    软件主要是将 h5 数据文件信息通过分类的方式将数据文件信息保存在达梦数据库中,所有操作将通过软件完成。在设计之初只开发了离线版本,完成后发现并不能满足需求,进而开发在线版本。

    软件适配了 windows 系统和麒麟系统。该软件是在 windows 系统下开发,然后再麒麟系统下进行适配后生成软件。最终该软件将在麒麟系统下使用。

    软件架构

    软件分为两个版本:离线版、在线版。在线版有服务端和客户端两个软件,客户端跟离线版版本实现功能相同。

    离线版

    离线版是只有一个软件,在 PC 端需要安装达梦数据,软件将连接达梦数据库直接访问数据库。

    在这里插入图片描述

    在线版

    离线版有服务端和客户端两个软件,将服务端和达梦数据库安装在服务器上,客户端安装在 PC 端与服务端通过 TCP 通信,控制完成对 h5 数据管理以及数据库管理。同时客户端需要展示 h5 数据。具体功能说明参考下面功能说明小节。

    在这里插入图片描述

    功能说明

    以下介绍了软件中部分功能,还有一个功能未在功能介绍中展示。

    主界面

    主界面用于查询数据并展示,如下图所示,左侧列表用于查询 h5 数据文件信息,右侧用于展示 h5 数据。离线版与在线版客户端功能相同。

    在这里插入图片描述

    在这里插入图片描述

    数据导入
    • 访问远程目录下文件夹,找到需要导入数据库的文件。
    • 将文件信息导入数据库中。

    在这里插入图片描述

    数据管理
    • 根据类型、时间等条件从达梦数据库中查询数据。
    • 修改文件名称,同时修改数据库中文件信息和数据文件本身名称。
    • 删除、清除数据库中数据文件信息同时删除文件。

    在这里插入图片描述

    数据加载
    • 数据加载时需要先读取 h5 数据文件结构。
    • 服务端将属性信息发送给客户端,客户端将属性信息显示在左下角。
    • 服务端还将 h5 数据文件中数据集数据发送给客户端,客户端显示数据集数据。
    • 客户端显示数据时会同时在表中显示以及绘制二维图像。

    在这里插入图片描述

    在这里插入图片描述

    二维图对比
    • 对比两个二维图功能时将两个 h5 文件中图像同时添加到窗口中进行对比。
    • 对比的 h5 数据文件需要结构相同,否则无法读取出对比文件数据结构。

    在这里插入图片描述

    同步对比
    • 同步功能是鼠标操作一个二维图时另一个图形同步操作,方便对比。

    在这里插入图片描述

    二维图方向
    • 通过鼠标右击菜单可改变二维图显示方向。
    • 默认情况下上下显示两个二维图。
    • 同时还可以隐藏二维图对比窗口。

    在这里插入图片描述

    导出图像数据
    • 二维图中数据与数据表中数据是相同的数据。
    • 导出图像数据实质是导出数据表中数据。
    • 同时也支持在数据表下导出数据和输入经纬度导出数据。

    在这里插入图片描述

    安装教程

    该软件暂不开放使用,如果有同样需求的朋友可以联系本人。

    邮箱:lijiangjun931026@outlook.com

    1. 下载软件绿色安装压缩包,并解压。
    2. 在解压目录下直接运行程序。

    使用说明

    1. 使用前配置 ODBC,名称可以任意配置,但是在软件中需要对应起来。
    展开全文
  • 新的公司项目里有一个Excel数据表格导入h5项目的table里,导出Excel的我倒是做过很多,导入的做的蛮少的,百度也没有找到一个很合适的demo,其实做出来感觉很简单。 1,首先是导出Excel,写一个button导出按钮 ...

    新的公司项目里有一个Excel数据表格导入到h5项目的table里,导出Excel的我倒是做过很多,导入的做的蛮少的,百度也没有找到一个很合适的demo,其实做出来感觉很简单。

    1,首先是导出Excel,写一个button导出按钮

    $scope.getExcel=function(){
    		$http.post("order/excel",$rootScope.posts,{
                responseType: "blob"
            }).success(function(data){
    			var blob = new Blob([data], {
                    type: "application/vnd.ms-excel"
                });
                var a = document.createElement("a");
                document.body.appendChild(a);
                a.download ="";
                a.href = URL.createObjectURL(blob);
                a.click();
    		});
    	};
    

      在这里posts可以根据自己传递的列表id不同的数量导出不同的数据 我写了一个全选的方法 下面是html 和js

    <table class="table table-bordered table-condensed table-hover table-striped no-footer">
            <thead>
              <tr role="row" class="sorting_s">
                <th>
                  <label>
                    <input type="checkbox" ng-click="allCheckFn(apiResultList,allCheckState)" ng-model="allCheckState"/>全选
                  </label>
                </th>
                <th ng-repeat="item in config track by $index" ng-bind="item.title"></th>
                <th ng-if="!transHide">轨迹</th>
              </tr>
            </thead>
            <tbody ng-if="!apiState.apiLoading">
              <tr ng-repeat="(key,ls) in apiResultList" class="sorting_s">
                <td>
                  <input type="checkbox" ng-model="ls.check" ng-true-value="true" ng-false-value="false"/>
                </td>
                <td ng-repeat="item in config track by $index" ng-bind="{{item.data}}" class="sorting_1"></td>
                <td>
                  <div class="btn-group">
                    <a ui-sref="home.commodity.edit({id:ls.commodity_id})" per-href="commodity.update">轨迹</a>
                    <!-- <a ui-sref="home.commodity.audit({id:ls.commodity_id})" per-href="commodity.info">查看</a>
                    <a ui-sref="home.commodity.preview({id:ls.commodity_id})" per-href="commodity.info">预览</a>
                    <a ng-click="deleteFn(ls,true)" per-href="commodity.delete">删除</a>
                    <a ng-click="unSale(ls,true)" ng-if="ls.status==10" per-href="commodity.down">下架</a>
                    <a ng-click="onSale(ls,true)" ng-if="ls.status==0" per-href="commodity.on">上架</a>
                    <a ui-sref="home.commodity.audit({id:ls.commodity_id})" ng-show="ls.status==4||ls.status==5" per-href="commodity.on">审核</a></div> -->
                </td>
              </tr>
              <tr ng-if="list.length==0">
                <td colspan="{{transHide?config.length:(config.length+2)}}">没有任何数据</td>
              </tr>
            </tbody>
            <tbody ng-if="apiState.apiLoading">
              <tr>
                <td colspan="{{transHide?config.length:(config.length+2)}}">数据读取中...</td>
              </tr>
            </tbody>
          </table>
    

      js

      $rootScope.allCheckState=false;
            $rootScope.allCheckFn=function(list,state){
               if(list instanceof Array){
                   list.forEach(function(item){
                       item.check=state;
                      //  console.log(item);
                   })
               }
            }
    

      angualr 自带的ng-true-value很好用,接下来是导入 自己建一个model框 点击导入跳出一个form表单

    下面是html代码

    <div class="bg-white">
      <div class="modal-header">
        <h5 class="modal-title">导入出库订单<i class="icon iconfont icon-guanbi3" ng-click="closeModal()"></i></h5>
      </div>
      <div class="modal-body">
    		<form ng-submit="sendFn()" class="modal-body" enctype="multipart/form-data">
          <input name="filename" type="file" value="选择文件" tinfile file-fn="upload(file)" accept=""  ng-model="item" accept="excel/*" class="file" width="200px"/>
    		</form>
    	</div>
    	<div class="modal-footer">
    		<button ng-click="sendFn(true)" class="btn modal-navctl">确认</button>
    	</div>
    </div>
    

      记得要加上enctype属性 点击提交提交整个form  因为异步加载的问题获取里面的dom节点我用的jq获取的下面是js代码

    $scope.sendFn = function() {
    		// console.log($scope.file);
    		var form = $('form');
    		var file = form.find("input[name=filename]");
    		var val = form.find("input[name=filename]").val();
    		var files = file.prop('files');
    		console.log(file);
    		// console.log($('form'));
    		var formData = new FormData($('form[0]'));
    		formData.append("file",file[0].files[0]);
    		formData.append("vak",val);
    		console.log(formData);
    		var url="importpiccontroller/importPickticket",text="提交成功";
    		// sendData = formData;
    		// sendData.order_code = $stateParams.id;
    		$http.post(url, formData,{headers:{'Content-Type': undefined},transformRequest: function (data) {return data}}).success(function(data) {
    			if (data.success =='true') {
    				alert(text);
    				$state.go("home.refund.list");
    				// $state.reload();
    			}else {
    				alert(data.exception);
    			}
    		});
    	};
    

      我做的新项目angualr发送请求的时候后台总是接收不到ajax请求头, 所以post里面的header配置是我配置的请求头,如果你的项目没事的话可以不用加。

    其实导入更简单一点,就是以前没做过,以前上传的图片视频都是存到服务器返回一个url,本地竟然蜜汁尴尬。

    转载于:https://www.cnblogs.com/tiepeng/p/7275606.html

    展开全文
  • 在使用图片进行训练和测试的时候,可以用h5py生成数据集文件,便于导入训练 数据集整理 首先将对应的图片按照label,分在三个文件夹内,在本例中,创造一个剪刀石头布的三分类问题,首先看看采集的对应的数据集,如...

    参考文献:https://blog.csdn.net/chenkz123/article/details/79640658
    在使用图片进行训练和测试的时候,可以用h5py生成数据集文件,便于导入训练

    数据集整理

    首先将对应的图片按照label,分在三个文件夹内,在本例中,创造一个剪刀石头布的三分类问题,首先看看采集的对应的数据集,如下图,将同一个标签的数据放入同一个文件夹内

    将同一标签放入同一个文件夹内

    获取对应类别文件列表

    在转成h5py之前,我们要获取对应文件夹下的数据文件名列表,并打上标签
    首先导入依赖库

    import os
    import numpy as np
    from PIL import Image
    import h5py
    import scipy
    

    然后写一个子函数,用于获取文件列表,并进行乱序,有利于划分训练集与测试集
    参考:https://blog.csdn.net/chenkz123/article/details/79640658

    def get_files(file_dir):
        stone = []
        label_stone = []
        cut = []
        label_cut = []
        cloth = []
        label_cloth = []
    
        
        for file in os.listdir(file_dir+'/stone'):
                stone.append(file_dir +'/stone'+'/'+ file) 
                label_stone.append(0)     #添加标签 这里用0 1 2 代表榔头 剪刀 布
        for file in os.listdir(file_dir+'/cut'):
                cut.append(file_dir +'/cut'+'/'+file)
                label_cut.append(1)
        for file in os.listdir(file_dir+'/cloth'):
                cloth.append(file_dir +'/cloth'+'/'+ file) 
                label_cloth.append(2)     
    
                
        #把所有数据集进行合并
        image_list = np.hstack((stone, cut, cloth))
        label_list = np.hstack((label_stone, label_cut,label_cloth))
     
        #利用shuffle打乱顺序
        temp = np.array([image_list, label_list])
        temp = temp.transpose()
        np.random.shuffle(temp)
     
        #从打乱的temp中再取出list(img和lab)
        image_list = list(temp[:, 0])
        label_list = list(temp[:, 1])
        label_list = [int(i) for i in label_list] 
        
        return  image_list,label_list
        #返回两个list 分别为图片文件名及其标签  顺序已被打乱
    

    这样,我们就取得了两个列表,分别是图片文件名及其标签 顺序已被打乱。
    我们来测试一下,运行以下代码

    train_dir = '.'
    image_list,label_list = get_files(train_dir) 
    print(len(image_list))
    print(len(label_list))
    

    输出:1124 1124
    可以看到lable与数据长度相等,没有问题。

    划分测试集与训练集

    我们要从列表里面,抽取一部分作为测试集,在这里代码中打桩写死为124,可按需求修改

    Train_image =  np.random.rand(len(image_list)-124, 240, 320, 3).astype('float32')
    Train_label = np.random.rand(len(image_list)-124, 1).astype('float32')
     
    Test_image =  np.random.rand(124, 240, 320, 3).astype('float32')
    Test_label = np.random.rand(124, 1).astype('float32')
    for i in range(len(image_list)-124):
        Train_image[i] = np.array(plt.imread(image_list[i]))
        Train_label[i] = np.array(label_list[i])
     
    for i in range(len(image_list)-124, len(image_list)):
        Test_image[i+124-len(image_list)] = np.array(plt.imread(image_list[i]))
        Test_label[i+124-len(image_list)] = np.array(label_list[i])
    

    写入为h5文件

    为对应的数据进行命名并保存,并进行读写测试

    f = h5py.File('data.h5', 'w')
    f.create_dataset('X_train', data=Train_image)
    f.create_dataset('y_train', data=Train_label)
    f.create_dataset('X_test', data=Test_image)
    f.create_dataset('y_test', data=Test_label)
    f.close()
    train_dataset = h5py.File('data.h5', 'r')
    train_set_x_orig = np.array(train_dataset['X_train'][:]) # your train set features
    train_set_y_orig = np.array(train_dataset['y_train'][:]) # your train set labels
    test_set_x_orig = np.array(train_dataset['X_test'][:]) # your train set features
    test_set_y_orig = np.array(train_dataset['y_test'][:]) # your train set labels
    f.close()
    #读写测试
    print(train_set_x_orig.shape)
    print(train_set_y_orig.shape)
     
    print(train_set_x_orig.max())
    print(train_set_x_orig.min())
     
    print(test_set_x_orig.shape)
    print(test_set_y_orig.shape)
    
    

    输出 :
    (1000, 240, 320, 3)
    (1000, 1)
    255.0
    0.0
    (124, 240, 320, 3)
    (124, 1)
    训练集与测试集分别是1000与124,与之前写的一致,没有问题

    总结

    至此,我们就生成了一个h5py文件,不过发现20M左右的JPG转为h5后,文件大小激增到1G,看来这个方法并不适用于很大的数据

    展开全文
  • 利用h5py 构建深度学习数据

    千次阅读 2018-05-23 05:28:24
    对于深度学习而言,往往有数以十万记的数据,跑程序的时候经常会在加载数据集的时候出现Memory error,查了很多资料,感觉python的h5py包处理数据集非常方便,导入数据时,并不会占据内存空间。 实例 在利用...
  • 前言最近笔者终于把H5-Dooring的后台管理系统初步搭建完成, 有了初步的数据采集和数据分析能力, 接下来我们就复盘一下其中涉及的几个知识点,并一一阐述其在Dooring H5可视化...
  • 将excel表格导入到数据库,有多种办法,可以使用数据库管理工具,可以使用python写个脚本,也...H5赋予了JavaScript读取本地文件的能力。 HTML5技术出现以后,提供了从本地读取文件的API,因此可以在前端使用JavaScr
  • 使用EasyNVR的用户都有知道,由于EasyNVR是将设备与EasyNVR的通道进行绑定的,因此EasyNVR是通过...首先,我们需要了解到的是设备的配置数据是存在软件包根目录的db文件中,EasyNVR使用的数据库是sqllite。因此,我...
  • 在使用tensorflow时,经常需要用别人训练好的模型来预测...这儿主要介绍导入别人训练好的以h5格式保存的model并用其预测自己的数据: 1. 导入库 import tensorflow as tf from tensorflow.keras import datasets, l...
  • python读写h5文件

    万次阅读 热门讨论 2018-11-16 10:23:08
    原文链接:... h5接受的数据是矩阵跟mat方法一致,但是具有更强的压缩性能 使用hdf5依赖于python的工具包:h5py import h5py #导入工具包 import numpy as np #HDF5的写入: imgData = np.zeros((30,3...
  • 导入组件 代码分割 添加样式表 后处理CSS 添加CSS预处理器(Sass,Less等) 添加图像,字体和文件 使用public文件夹 更改HTML 在模块系统之外添加资产 何时使用public文件夹 使用全局变量 添加引导程序使用自定义...
  • mp3和wav录音,音频文件有点大 谷歌语音识别,目前只支持谷歌 Excel数据导入数据库,先将Excel导入网站中,然后通过接口将Excel数据读取,然后存入数据库
  • H5MedicalBoard-源码

    2021-04-28 21:26:34
    导入组件 代码分割 添加样式表 后处理CSS 添加CSS预处理器(Sass,Less等) 添加图像,字体和文件 使用public文件夹 更改HTML 在模块系统之外添加资产 何时使用public文件夹 使用全局变量 添加引导程序使用自定义...
  • myModel_Third.h5

    2019-05-08 21:37:42
    这是我自己通过Keras框架训练好的模型,用于对fer2013数据集进行预测,输入为(48,48,3),可以使用Keras框架导入并直接用于预测而无需训练,不会用就不要下载
  • .h5文件的写入和读取(HDF5)

    千次阅读 2020-01-08 15:04:53
    h5接受的数据是矩阵跟mat方法一致,但是具有更强的压缩性能 使用hdf5依赖于python的工具包:h5py import h5py #导入工具包 import numpy as np #HDF5的写入: imgData = np.zeros((30,3,128,256)) f = h5py.File('...
  • H5本地存储LocalStorage缺点

    千次阅读 2017-06-17 15:20:23
    localStorage大小限制在500万字符左右,各个浏览器...localStorage本质是在读写文件,数据多的话会比较卡(firefox会一次性将数据导入内存,想想就觉得吓人啊) localStorage不能被爬虫爬取,不要用它完全取代URL传参
  • 简单地利用h5保存自己的图片训练集

    千次阅读 2019-02-06 15:32:27
    HDF5适用于单机大规模数据应用,比如神经网络训练等,可以存储不同类型的图像和数码数据的文件格式,并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库。 写h5 导入需要的库 from ...
  • LocalStorage和SessionStorage LocalStorage ...本质是在读写文件,数据多的话会比较卡(firefox会一次性将数据导入内存) 不能被爬虫爬取,不要用它完全取代URL传参 IE7及以下不支持外,其他标准...
  • -oRsEnacxF2qSFxcQeXzpsfEioaLUiNRd9d8j-vYue2ypUsNdqhbzqZEwsLMr0wWG43Q9EbXUMNbI4YbqxXNNMGoXCsrYRLOcoBFhDXxnUjUnkrsae0h77bctWOiWXvnJAhWa32r_H5yE6YneFt_urge9rMOxf","id":8},{"domain":".amazon.com","host...
  • React实现H5模版导出

    2021-05-11 09:59:02
    需求 因为后端需要拿到html片段,所以前端获取...导入mustache库后 在代码中引入 import Mustache from ‘mustache’ 使用如下 Mustache.parse(Fpublic.htmlToString()); let html = Mustache.render(Fpublic.htmlToStr
  • 因朋友需要,之前看了下关于h5的手机定位,目前写了个demo在这里贴出来,感兴趣的朋友可以看一下。 目前的版本只是demo,仍有几个问题需要完善一下,问题如下: 1,如何将经纬度等数据发送到被定位人看不到的页面上...
  • h5页面如果想让外网访问到,必须放到有公网IP的服务器上,可能配置域名 02.注册小程序账号及信息完善 微信公众平台 账号信息 邮箱必须是没有绑定过其他公众账号的,或者没有绑定到个人微信的 邮箱激活 打开...
  • 通过绑定到Python,Julia,Matlab和许多其他语言,可以轻松地在协作环境中导出,导入和分析数据。 在C / C ++中直接使用HDF5并不容易。 初学者可以通过广泛的HDF5 API轻松学习。 已经有许多C / C ++库可以简化用户...
  • (1)配置签名,后台导入微信第三方库配置签名,前端post方法向后台请求数据 3.授权登录实现:  首先,进入活动,判断是否为微信浏览器,如果是,则判断用户是否登录,  1.若未登录,则window.location.hr...
  • tensorflow checkpoint文件转成h5文件

    千次阅读 2019-07-13 13:19:57
    tensorflow在保存权重模型时多使用tf.train.Saver().save 函数进行权重保存,保存的ckpt文件无法直接打开,不利于将模型权重导入到其他框架使用(如Caffe、Keras等)。 好在tensorflow提供了相关函数 tf.train....
  • 记录开源知识图谱ownthink导入过程

    热门讨论 2020-09-24 14:36:49
    记录开源知识图谱ownthink导入过程 一、下载数据为了速度快从百度网盘下载 链接:https://pan.baidu.com/s/1AHNPnkygn2SnFHdxT7h5cQ 提取码:wlds 二、使用脚本清洗拆分数据 脚本地址 链接:...
  • 简介: 安装宝塔 ...宝塔放行端口1-65535 添加站点,上传IM文件夹里面的文件到站点根目录下,权限设置成777 修改站点,伪静态设置thinkphp,网站目录选择 /web/...添加数据库,并导入数据3eym.com.sql.gz mongod的数据库需
  • 前言前段时间笔者一直忙于数据可视化方面的工作,比如如何实现拖拽式生成可视化大屏,如何定制可视化图表交互和数据导入方案等,这块需求在B端企业中应用非常大,所以非常有探索价值。本篇文章并非和...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 190
精华内容 76
关键字:

数据导入h5