数据抽取kettle~~excel随机抽取数据公式?( 二 )


非关系数据库
编辑
ETL处理的数据源除了关系数据库外,还可能是文件,例如txt文件、excel文件、xml文件等 。对文件数据的抽取一般是进行全量抽取,一次抽取前可保存文件的时间戳或计算文件的MD5校验码,下次抽取时进行比对,如果相同则可忽略本次抽取 。
通用程序库
编辑
DMCTextFilter 是HYFsoft开发的纯文本抽出通用程序库,本产品可以从各种各样的文档格式的数据中或从插入的OLE对象中,完全除掉特殊控制信息,快速抽出纯文本数据信息 。便于用户实现对多种文档数据资源信息进行统一管理,编辑,检索和浏览 。
DMCTextFilter采用了先进的多语言、多平台、多线程的设计理念,支持多国语言(英语,中文简体,中文繁体,日本语,韩国语),多种操作系统(Windows,Solaris,Linux,IBM AIX,Macintosh,HP-UNIX),多种文字集合代码(GBK,GB18030,Big5,ISO-8859-1,KS X 1001,Shift_JIS,WINDOWS31J,EUC-JP,ISO-10646-UCS-2,ISO-10646-UCS-4,UTF-16,UTF-8等) 。提供了多种形式的API功能接口(文件格式识别函数,文本抽出函数,文件属性抽出函数,页抽出函数,设定User Password的PDF文件的文本抽出函数等),便于用户方便使用 。用户可以十分便利的将本产品组装到自己的应用程序中,进行二次开发 。通过调用本产品的提供的API功能接口,实现从多种文档格式的数据中快速抽出纯文本数据 。本产品在国内外得到了广泛的应用,在产品性能和质量上都得到了用户高度的好评 。
1. 文件格式自动识别功能
本产品通过解析文件内部的信息,自动识别生成文件的应用程序名和其版本号,不依赖于文件的扩展名,能够正确识别文件格式和相应的版本信息 。可以识别的文件格式如下: 支持Microsoft Office、RTF、PDF、Visio、Outlook EML和MSG、Lotus1-2-3、HTML、AutoCAD DXF和DWG、IGES、PageMaker、ClarisWorks、AppleWorks、XML、WordPerfect、Mac Write、Works、Corel Presentations、QuarkXpress、DocuWorks、WPS、压缩文件的LZH/ZIP/RAR以及一太郎、OASYS等文件格式
2. 文本抽出功能
即使系统中没有安装作成文件的应用程序,可以从指定的文件或插入到文件中的OLE中抽出文本数据 。
3. 文件属性抽出功能
从指定的文件中,抽出文件属性信息 。
4. 页抽出功能
从文件中,抽出指定页中文本数据 。
5. 对加密的PDF文件文本抽出功能
从设有打开文档口令密码的PDF文件中抽出文本数据 。
6. 流(Stream)抽出功能
从指定的文件、或是嵌入到文件中的OLE对象中向流里抽取文本数据 。
7. 支持的语言种类
本产品支持以下语言:英语,中文简体,中文繁体,日本语,韩国语
8. 支持的字符集合的种类
抽出文本时,可以指定以下的字符集合作为文本文件的字符集(也可指定任意特殊字符集,但需要另行定制开发):GBK,GB18030,Big5,ISO-8859-1,KS X 1001,Shift_JIS,WINDOWS31J,EUC-JP,ISO-10646-UCS-2,ISO-10646-UCS-4,UTF-16,UTF-8等 。[1]

  • 参考资料

Q4:怎么在WPS表格200个数据中随机抽取60个数据?在WPS表格200个数据中随机抽取60个数据步骤如下:
1、打开WPS表格2016,打开需要查询数据的表格文档,或者输入相关的数据 。
2、根据日常编辑需要选中输入要查询的数据名称 。
3、选择要输出数据的单元格,在菜单栏找开“公式”根据提示在“常用函数”中使用VLOOKUP命令 。
4、打开VLOOKUP函数对话框,点击“查找值”后面的按钮,选择要查询的数据单元格H3 。
5、根据提示完成各项选择,数据表B2:F44(就是要输出数据的所有单元区域),列数要查询数据的结果是第几列,从选择数据的第一列开始计算 。匹配条件0,为精确匹配 。
6、点击确定按钮,完成第一个查询数据的结果,双击数据结果单元格右下角“十”,完成多个数据查询 。

Q5:excel随机抽取数据公式楼主想要的功能,可以通过VBA程序代码处理,也比较简单 。
(1)程序代码如下:
Sub rnd_selection()
Dim i1, i2, i3, str
On Error Resume Next
Randomize
Set mysheet1 = ThisWorkbook.Worksheets("Sheet1")
mysheet1.Range("N6") = ""
i1 = mysheet1.Range("O3").Value
For i2 = 1 To i1
If str = "" Then
str = mysheet1.Cells(Int(Rnd() * 8 + 3), Int(Rnd() * 12 + 1))
Else
str = str & "," & mysheet1.Cells(Int(Rnd() * 8 + 3), Int(Rnd() * 12 + 1))
End If
Next
mysheet1.Range("N6") = str
End Sub
(2)执行结果如下图:


推荐阅读