.net core 获取binary 文件_7.2 获取文本数据_Csv.Document
工作之中,经常地需要获取、合并、处理一些csv和txt这些文件,就需要用到Csv.Document这个函数.
适用csv和txt文本格式的文件 | ||
函数 | Csv.Document | 说明 |
参数1 | binary数据 | File.Contents(路径)获取 |
参数2 | 列 |
一,数字,代表几列 二,字段名 |
参数3 | 分隔符 | 默认为逗号 |
参数4 | 多余列处理方式 |
参照参数2的列数, 0 多出的列为一个list 1 如果列数多于参数2的列数就会出错 2 列数就出错 2就是忽略错误 |
参数5 | 编码方式 | 如果有乱码,填上0或936 |
观察上面的参数,很多其实都学过了.比如,参数2和参数4这个类似Table.SplitColumn里的参数3和最后一个参数,一摸一样的.所以如果之前的基础都掌握了,学习起来毫不费劲.详细解释看链接:
4.7 拆分表列函数Table.SplitColumn_01
直接来个案例:
制作查找拼音的自定义函数,如果张三→zhang san
获取这个拼音,首先需要一张汉字拼音对照表.
对照表是在.csv后缀的文件里,几千行,两列.其实csv格式的文件就是文本文档,用记事本打开,实际数据是这样的.
用excel打开,分隔符为逗号隔开,隔开的数据分别为一列.
解题:
(1).获取数据库数据.
csv后缀的用Csv.Document来获取,
参数1:是个binary数据,获取本地文件为binary数据的,用File.Contents(路径)
参数2:这里因为是两列,所以直接写{"拼音","汉字"},,当然也可以直接写数字2,但是数字2就不直观了,没有指定好字段名.看个人习惯写.
参数3:分隔符,默认分隔符为逗号,所以这里直接写个null或者","
参数4:这个是多出的列的处理方式,这里只有两列,之前已经写了两个字段名,所以直接写个1或者2,保险的方法是写上2,忽略错误.
参数5:这个是编码,如果获取的数据出现了乱码,就填上0或者936
填上上述的参数:
(2)就是查找了,现在用文本 "中國加油,武汉加油" 在这里汉字和拼音对照表只有收录了常用的汉字,类似这里的繁体字國和标点符号就查找不到.等会需要对查找不到的字符进行处理,保持不变就可以.
在查找的时候建议使用Table.Skip和List.Skip 这两个函数一旦查找到数据就停止了.如果用Table.SelectRows和List.Select就会查找全部的数据.在效率上就慢了.
现在把文本转为list,用List.Transform逐个查找.
(3)对获取到的表格进行处理.
(4)合并数据.
(5)制做自定义函数.
根据要求最后是: 张三→zhang san
原代码是这样的,现在把代码改成自定义函数.
变量有两个,对照表路径和需要转拼音的文本
紫色部分就是源代码需要修改的部分.
(6)最后体验一下.
------KO------
相关文件和代码在群里下载
热爱PQ的可以加入此群,大家可以一起学习一起进步
群名:轻松学会PowerQuery
群号:830974032
.net core 获取binary 文件_7.2 获取文本数据_Csv.Document相关推荐
- python获取某文件路径_Python获取当前文件路径
一. Python 获取当前文件路径方法 2. sys.path[0] 获取文件当前工作目录路径(绝对路径) sys.argv[0]|获得模块所在的路径(由系统决定是否是全名) 若显示调用python ...
- .net core 获取binary 文件_Linux操作系统文件目录
/bin bin是Binary的缩写.这个目录存放着最经常使用的命令. /boot这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件. /dev dev是Device(设备) ...
- php获取服务器文件路径,php获取服务器路径
php获取服务器路径 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性.本小节主要介绍如何在系统配置FTP/SFTP服务器参数,将日志远程备份至 ...
- java怎么获取服务器文件夹,java获取远程服务器的文件夹
java获取远程服务器的文件夹 内容精选 换一换 工具中所有涉及上传文件功能的,如果需要上传的文件大于1GB或者解压后超过剩余磁盘空间的一半,则需要释放磁盘空间或手动将文件上传至服务器,其他情况可通过 ...
- 如何读取服务器的文件夹大小,请教如何获取outlook文件夹对话框中服务器数据大小?...
Hi, 感谢你在MSDN发帖. 对于这篇文章,我认为可以这么理解. 如果你想获取服务器上面的文件夹的大小,outlook通常使用IMsgStore::OpenEntry 这个方法并且使用MAPI_NO ...
- php获取压缩文件列表,php获取所有文件并压缩
/* * 压缩文件 * */ function zip($files){ $zipName = 'download.zip'; $zip = new \ZipArchive;//使用本类,linux需 ...
- android获取系统资源文件,Android 系统文件获取
Android 系统自身自带有存储,另外也可以通过 SD 卡来扩充存储空间. 前者空间较小,后者空间大,但后者不一定可用. 开发应用,处理本地数据存取时,可能会遇到这些问题: 1.需要判断 SD 卡是 ...
- webclient无法获取html文件,C# WebClient获取网页源码的方法
效果如图 完整代码如下using System; using System.Collections.Generic; using System.ComponentModel; using System ...
- Linux获取执行文件路径,如何
获取linux进程的执行文件路径
进入/proc目录 ps查看所有契合 ./cmd的进程,找出其对应的进程号 用ll命令: ll 进程号 如下显示一个示例: [root@Cluster1 proc]# ll 22401 total 0 ...
最新文章
- Github近期最有趣的10款机器学习开源项目
- 有关弹窗页面的注意问题
- springcloud ribbon retryTemplate操作流程分析
- 纯CSS实现提示框小三角
- php session 反序列化,PHP SESSION反序列化本地样例分析
- 6. 以下耦合度中最松散的耦合是_什么是程序设计中的高内聚、低耦合?
- 简书UI易用性缺陷:投稿按钮太小
- Linux下使用NMON监控、分析系统性能
- 《近匠》专访机智云 CTO 刘琰——从 0 到 1 开启智能化硬件开发
- java g.drawline_菜鸟求教:关于Graphics g中的g.drawLine问题
- 网络安全学习--破解Win7密码
- C# 程序开机自动启动
- Win8右键反应慢的原因与解决办法
- VCC和GND短路,怎么找问题?
- 请问matlab里面exp函数怎么用啊,Matlab基本函数-exp函数
- 2.4 放大电路静态工作点的稳定
- Vue 中实现Video视频不可快进
- Linux_Linux指令_lsof 指令
- UML(Jude) | UseCase Diagram
- 【JS案例】分页器——使用原生JavaScript实现