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

rust表格文件处理

为什么选择 csv 而不是 excel

  • Excel 是一个二进制文件,只能用 Microsoft Excel 文档
  • Excel 导入数据时消耗更多的内存
  • Csv 是纯文本格式
  • 所以您应该转换一下
// 需求:拿到title是Professor的人的姓名const MOCK_DATA: &'static str = include_str!("dept_data.csv");// 先声明包含vector的工具结构体
struct Names<'a> {inner: Vec<&'a str>,
}struct Titles<'a> {inner: Vec<&'a str>,
}// 创建结构体返回结果
#[derive(Debug)]
struct ProfessorInfo{name: String,title: String,
}impl ProfessorInfo {// 生成vec的方法fn generate_vec(names: Names, titles: Titles) -> Vec<ProfessorInfo>{let data = names.inner.iter().zip(titles.inner.iter());let mut res_vec: Vec<ProfessorInfo> = Vec::new();for (name, title) in data.filter(|tuple_item|tuple_item.1.to_string().contains("Professor")).take(3){let item = ProfessorInfo {name: name.to_string(),title: title.to_string(),};res_vec.push(item);}res_vec}
}fn main() {// 从csv字符串中提取数据let data: Vec<_> = MOCK_DATA.split('\n').skip(1).collect();let names: Vec<_> = data.iter().filter_map(|line| line.split(',').nth(1)).collect();let names = Names { inner: names };let titles: Vec<_> = data.iter().filter_map(|line| line.split(',').nth(4)).collect();let titles = Titles { inner: titles };let back = ProfessorInfo::generate_vec(names, titles);println!("{:?}", back);
}
http://www.dtcms.com/a/569042.html

相关文章:

  • 基于VU13P的6U VPX 载板
  • 做网站的害处道滘仿做网站
  • 128天写作之旅:记录与成长的点滴
  • 个人理财系统|基于java+小程序+APP的个人理财系统设计与实现(源码+数据库+文档)
  • 用什么做php网站十大货源网站大全
  • 广州网站制作哪家全面电脑做网站用word
  • 蓝牙钥匙 第40次 汽车租赁与试驾场景中的智能权限管理:关键技术与实践方案
  • 李沐深度学习笔记D1-什么是深度学习
  • 做全景的网站对网站策划的看法
  • 浅谈balance_pgdat函数的工作原理和作用
  • 假设A调用B,B调用C,只有C方法涉及到多张表的增删改操作,那么@Transactional注解添加在A方法上,和添加在C方法上,哪个性能更好?
  • 班级网站设计模板首页中国建设银行网站地图
  • 全国产化方案实现NVMe over 100G RDMA,解决智算超算中“存算”不匹配问题
  • 营业执照识别接口开发者集成指南-OCR API
  • 中国建设工程质量协会网站建电子商务网站需要多少钱
  • 使用Worker打包报错
  • 04.LLM主流开源代表模型
  • k8s问答题(二)
  • 3ds Max 单张图渲染十数小时:正常吗?怎么破?
  • 在 Vue 项目中,vue.config.js 同时配置代理和别名
  • 用网站ip做代理服务器带dede后台的整套网站源码 数据库连接不上
  • 【Java】JVM 内存区域划分
  • 上海广告公司网站制作wordpress 防止爆破插件
  • SSM基于HTML5的环保公益网站d4sf1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 23.目标检测基础
  • 详解JDK21新特性【虚拟线程】
  • 简单但好用:4种Selenium截图方法
  • 实验室安全教育与管理平台学习记录(九)消防安全
  • CS336笔记2-Architectures,Hyperparameters
  • 解决leetcode第3734题大于目标字符串的最小字典序回文排列