当前位置: 首页 > wzjs >正文

网站建设水上乐园济南seo整站优化招商电话

网站建设水上乐园,济南seo整站优化招商电话,东莞最新通报最新,哪家编程机构比较好1 引言 在进行算法分析的时候,一般需要输入数据进行分析,但是C里面处理Excel文件里面的数据比较麻烦,可以结合matlab或者Python,先将.xls文件里面的数据进行读取和处理,然后再存为.csv格式的文件,C去读取.…

1 引言

在进行算法分析的时候,一般需要输入数据进行分析,但是C++里面处理Excel文件里面的数据比较麻烦,可以结合matlab或者Python,先将.xls文件里面的数据进行读取和处理,然后再存为.csv格式的文件,C++去读取.csv文件里的数据供算法分析就会比较方便,流程图如下:

2 实操案例

2.1  matlab——.xls转换.csv

代码示例:

clc,clear;
%读取数据
path = 'test.xls';%Excel路径
data  = xlsread(path);%读取Excel文件里面的数据%数据预处理
data = data +1;%写入数据
target_path = 'test.csv';%要存放的csv文件路径
csvwrite(target_path,data);

代码解读:

使用matlab的作用有三个:

① 读取Excel文件里的数据;

② 对数据进行预处理,预处理为算法分析所需要的数据;

③ 另存为.csv格式的数据,供C++代码直接读取。

2.2 C++读取数据

C++的标准库可直接读取.csv文件,且读取起来比较方便。

代码示例:

#include <iostream>  
#include <fstream>  
#include <sstream>  
#include <vector>  
#include <string>  //.csv数据读取函数,返回数据,数据类型:vector<vector<string>>
std::vector<std::vector<std::string>> ReadCSV(const std::string& filename) {std::ifstream file(filename);std::vector<std::vector<std::string>> data;std::string line;while (std::getline(file, line)) {std::stringstream ss(line);std::string value;std::vector<std::string> row;while (std::getline(ss, value, ',')) {row.push_back(value);}data.push_back(row);}return data;
}int main() {std::string filename = "test.csv";//绝对路径"E:\\05_VS_code\\Excel_Read\\Excel_Read\\test.csv";auto csvData = ReadCSV(filename);//获取.csv里的全部数据,vector<vector<string>>结构形式// 获取行数  size_t rowCount = csvData.size();// 获取列数(假设所有行都有相同的列数,取第一行的列数)  size_t colCount = (rowCount > 0) ? csvData[0].size() : 0;// 输出行数和列数  std::cout << "行数: " << rowCount << std::endl;std::cout << "列数: " << colCount << std::endl;// 获取第二列数据  std::vector<int> secondColumn;for (const auto& row : csvData) {secondColumn.push_back(std::stoi(row[1]));//遍历行,取每行第二列的数据。stoi,将string转换成int}// 提取算法分析所需要的数据,比如第二列数据  for (const auto& value : secondColumn) {std::cout << value << " ";}return 0;
}

代码解读:

① 定义一个.csv文件数据的函数,返回文件里面存放的数据,输入是文件存放路径,输出是数据,数据类型:vector<vector<string>>;

② 在主函数中调用该函数读取目标文件里的数据,路径可以是相对路径也可以是决定路径,相对路径时,文件存放在和.cpp文件同一目录下;

③ 通过size()方法获取数据的行数和列数;

④ 获取算法分析所需要的数据,比如第二列数据,采用遍历行的方式,每行取第二个元素,得到第二列数据,原始数据类型是string,需要转换成目标数据类型,比如示例采用stoi方法,将数据类型从string转换成int。

2.3 C++数据存储

 算法分析完以后可以将结果数据存储下来,供后续可视化使用。

代码示例:

#include <iostream>  
#include <fstream>  
#include <sstream>  
#include <vector>  
#include <string>  //.csv数据读取函数,返回数据,数据类型:vector<vector<string>>
std::vector<std::vector<std::string>> ReadCSV(const std::string& filename) {std::ifstream file(filename);std::vector<std::vector<std::string>> data;std::string line;while (std::getline(file, line)) {std::stringstream ss(line);std::string value;std::vector<std::string> row;while (std::getline(ss, value, ',')) {row.push_back(value);}data.push_back(row);}return data;
}
//将数据写入.csv文件,写入的数据类型:vector<vector<string>>
void WriteCSV(const std::string& filename,const std::vector<std::vector<std::string>>& data) {std::ofstream file(filename);if (!file.is_open()) {throw std::runtime_error("无法打开文件: " + filename); // [3,5](@ref)}for (const auto& row : data) {for (size_t i = 0; i < row.size(); ++i) {file << row[i];                   // 写入字段if (i < row.size() - 1) file << ","; // 非最后字段加逗号}file << "\n";  // 行尾换行 [1,7](@ref)}file.close();      // 显式关闭流
}int main() {//读取数据std::string filename = "test.csv";//绝对路径"E:\\05_VS_code\\Excel_Read\\Excel_Read\\test.csv";auto csvData = ReadCSV(filename);//获取.csv里的全部数据,vector<vector<string>>结构形式//数据分析csvData = csvData;//将数据写入文件std::string filename_new = "test_new.csv";WriteCSV(filename_new, csvData);return 0;
}

代码解读:

① 构建一个数据写入.csv文件的函数,输入是文件存放路径和要写入的数据,和之前的读取文件返回的数据一样;

② 代码的执行逻辑:先读取数据,数据经过算法分析后将数据写入到.csv文件。

3 扩展——数据可视化

一般数据分析完以后需要将结果可视化。同样的思路,在C++上数据处理完以后,将结果数据存放在.csv文件里面,然后用matlab或者Python去读取显示,因为matlab或者Python里面的可视化模块比较完善和简单。

http://www.dtcms.com/wzjs/177489.html

相关文章:

  • 怎么用vs做动态网站百度拉新推广平台
  • 旅游集团网站建设搜索关键词排名查询
  • 如何选择网站项目网站推广的营销策划方案
  • 做网站 傻瓜软件seo网站关键词快速排名
  • 安庆市建设银行网站深圳博惠seo
  • 英德住房和城乡建设部网站黑科技引流软件是真的吗
  • 怎么增加网站反链引擎优化seo
  • 怎么建设一个优秀的网站网站建设对企业品牌价值提升的影响
  • 建设银行新加坡分行网站优化大师班级优化大师
  • 大良营销网站建设流程班级优化大师免费下载电脑版
  • 做机械比较好的外贸网站幽默软文广告经典案例
  • 站长工具乱码短视频seo系统
  • 微信服务号可以做万网站么成都营销型网站制作
  • 自建的电子网站如何做推广怎样做网站的优化、排名
  • 做网站如何语音对话属于网络营销特点的是
  • 单页面网站有哪些内容沈阳专业seo
  • 计算机系部网站开发背景跨境电商培训
  • 深圳知名网站建设供应百度小说官网
  • 游戏源码 wordpress郑州seo培训
  • 网页具有动画网站建设技术泉州百度推广咨询
  • 做外贸需要什么网站百度账号管家
  • 中国商机创业网seo网站排名软件
  • 厦门做网站哪家强如何在百度上发布广告
  • 太原网站上排名51网站统计
  • 陕西汽车网站建设seo工作内容有哪些
  • 个人备案网站内不能出现什么内容电子报刊的传播媒体是什么
  • 昆明网站制作推荐360站长工具
  • 文库网站开发建设南京seo代理
  • 厦门网站建设电话廊坊百度快照优化哪家服务好
  • 网站建设代码结构百度高级检索入口