2.59 MB
242.90MB
11.0 MB
82.1MB
59M
Snapde是一款功能强大的编程软件。Snapde正式版界面干净简洁,易于使用。它可以支持大型CSV文件的快速编辑,以及文件拆分、合并、过滤、排序和重复数据删除等基本功能。
Snapde软件功能
1.运行速度:打开CSV文件的速度比Excel和WPS快4倍。打开一个几百兆的CSV文件只需要十秒钟,几秒钟就可以完成几千万行的排序。2.内存占用:文件的所有内容都存储在内存中,纯C语言指针将内存使用优化到极致。在大多数情况下,内存比CSV文件大2-3倍,在某些情况下,内存甚至比CSV文件更小。
3.CSV大小:看机器内存。一般8G内存的机器一次可以编辑2G的CSV文件。
4.最大行数:2007以上的Excel版本最多有1048576行,Snapde可以编辑的行数是Excel的十到二十倍。一般8G内存的机器可以打开1000 ~ 2000万行CSV进行编辑。
5.分页编辑:对于大于2G的CSV大数据,也可以通过一次性打开1000万行进行编辑保存,然后再打开下一个1000万行进行编辑保存的方式进行分页编辑。。。
6.数据操作:软件集成了Exprtk、C和python语言执行器;测试显示,Exprtk的执行效率比C#和java慢一点(20%),C语言比C#和java快很多,python比Exprtk和C慢10倍左右,但可用资源更多。不用说,Excel VBA,三种语言就能直接干掉它。
操作环境:windows
Snapde功能介绍
一.文件功能1.默认情况下,创建一个299行25列的新电子表格。如果要增加行数,可以在底部空白处双击鼠标左键,一次增加300行。如果要增加列数,可以在右边空白处双击鼠标左键,一次增加26列。如果要精确控制行数和列数,可以在“编辑”下的“编辑行”菜单中设置具体的行数和列数。
2.打开CSV、TXT和smd文件。CSV是逗号分隔的文本文件,TXT是制表符分隔的文本文件,smd是Snapde自己定义的文件格式(打开和保存速度是CSV和TXT的两倍)。该软件可以自动识别GBK,UTF8和UNICode编码,并保存为GBK代码。
3.页面打开。如果CSV文件太大,可以专门打开。指定是否保留首行标题、起始行号和一次打开的行数。
4.文件保存:保存新创建的、打开的和分页的文件。
5.另存为,当前文件可以另存为新文件或新格式文件。
6.Append:将许多子文件追加到这个文件中。如果第一行的标题相同,新文件的标题行将被自动过滤掉。
7.拆分,将此文件保存为多个子文件,包括是否保留第一行标题,按行数或文件数拆分。
二、编辑功能
1.灵活的选择集:全部选择、行选择、列选择和框选择。
2.单元格具有优秀的多行编辑功能,单元格支持编辑从几兆到几十兆的多行文本。
3.编辑支持用数字改变顺序:框住要修改的单元格,按住ctrl键,然后完成编辑。如果编辑的内容中有数字,这些单元格会不断变化,否则内容不变。
4.强大的撤销和重做功能。
5.支持选择集的剪切、复制和粘贴。
6.清除内容
7.删除:删除选中的行和列。
8.选择全部。
9.插入行/列:您可以在选定的行或列之前插入行或列。
10.恢复宽度和高度:将选定的行或列恢复到默认的宽度和高度。
1.隐藏:隐藏选定的行或列。
12.取消隐藏:在选定行或列的中间显示隐藏的行和列。
13.放大和缩小:放大或缩小电子表格。
14.跳转:跳转到指定的级别。
15.设置过滤器:为选择集设置过滤器(如果只选择了一个单元格,则过滤所有单元格),只显示符合过滤条件的数据。
16.删除重复:删除选择集中重复的数据(包括删除整行展开的选择)。
17.按升序排序:按升序对选择集进行排序(包括按整行展开的选择)。
18.按降序排序:按降序对选择集进行排序(包括通过展开选择对整行进行排序)。
19.交错色:设置单线和双线的背景,显示不同的颜色。
20.添加300行:在其之后添加300行。
1.添加26列:在之后添加26列。
2.设置行数和列数:精确设置电子表格的行数和列数。
第三,搜索
1.搜索:向前和向后搜索和计数。
2.替换:替换下一个和所有。
四个。脚本
1.set Exprtk script:将单元设置为Exprtk脚本,可以在单元中编辑和运行。
2.设置TCC脚本:将单元格设置为C语言脚本,可以在单元格中编辑运行。
3.设置Python脚本:将单元格设置为Python脚本,可以在单元格中编辑运行。
4.设置普通文本。
5.运行选择脚本:从左到右和从上到下运行选择集中的脚本单元。
6.运行所有脚本:在电子表格中从左到右、从上到下运行所需的脚本单元格。
动词(动词的缩写)脚本接口
1.Exprtk脚本接口
I Exprtk语法:http://github.com/ArashPartow/exprtk
B.snapde封装的Expr接口:
单元格编号变量(如A1)表示第一行第一列中的单元格编号变量,可用于获取单元格的值或直接赋值。
的单元格字符串变量,如A1_,表示第一行第一列的单元格字符串变量,可用于获取单元格字符串或直接赋值字符串。
一个to_lower(str),它将字符串转换为小写。
b,to_upper(str),touppercase。
c,to_string(num),将数字转换成字符串。
d,to_number(str),将字符串转换成数字
e,get(row,col),获取row和col指定的单元格的编号,如果是非数字字符串则返回0。
f,set(row,col,num),将行、列和指定的单元格设置为数字num。
g,get_(row,col),获取row和col指定的单元格的字符串,如果是数字,则将数字转换成字符串。
h,set_(row,col,str),并将row,col和指定的单元格设置为字符串str。
I,set_progress(n),设置进度条的进度n。n的范围是从0到100。
j,sleep(n),暂停周期为n毫秒,n为整数。
k,get_tick_count(),获取操作系统启动以来的毫秒数。
l,save(),保存当前文件,成功返回1,失败返回0。
m,save_as(file),将当前电子表格保存为file指定的文件(文件必须是带名称的完整路径),成功返回1,失败返回0。
n,get_row_count(),获取当前电子表格中的行数。
o,get_col_count(),获取当前电子表格中的列数。
p,resize(nRow,nCol),重置当前电子表格的行数和列数。NRow和nCol都需要大于1
2.c语言脚本
a、get(int row,int col,double *num),获取row和col指定的单元格的编号,将结果放入num中,如果是非数字字符串则返回0。
b,set(int row,int col,double num),将行、列和指定单元格设置为num num。
c,get_(int row,int col,char **data),获取row和col指定的单元格的字符串,将结果放入data。如果是数字,这个数字会被转换成字符串。注意:*数据指针不需要手动释放,但它会在下次调用此函数或运行此脚本时自动释放。
d,set_(int row,int col,char *str),将row,col和指定单元格设置为字符串str。
e,set_progress(int n),设置进度条的进度n。n的范围是从0到100。
f,get_tick_count(),获取操作系统启动以来的毫秒数。
g、save(),保存当前文件,成功返回1,失败返回0。
h,save_as(char *file),将当前电子表格保存为file指定的文件(文件必须是带名称的完整路径),成功返回1,失败返回0。
I,get_row_count(),获取当前电子表格中的行数。
j,get_col_count(),获取当前电子表格中的列数。
k,resize(int nRow,int nCol),重置当前电子表格的行数和列数,nRow和nCol都需要大于1。
3.Python脚本
你需要引入snapde模块:在使用Snapde函数之前导入Snapde。
a、Snapde.get(int row,int col),获取row和col指定的单元格的编号,如果是非数字字符串则返回0。
b,啪的一声.Set (int row,int col,double num),将row,col和指定的单元格设置为num。
c,Snapde.get_(int row,int col),获取row和col指定的单元格的字符串,如果是数字,则将数字转换成字符串。
啪的一声.Set _ (int row,int col,char * str),将行、列和指定单元格设置为字符串str。
E.Snapde.set_progress(int n),设置进度条的进度n。n的范围是从0到100。
f,Snapde.get_tick_count(),获取操作系统启动以来的毫秒数。
g、Snapde.save(),保存当前文件,成功返回1,失败返回0。
h,Snapde.save_as(char *file),将当前电子表格保存为file指定的文件(文件必须是带名称的完整路径),成功返回1,失败返回0。
I,Snapde.get_row_count(),获取当前电子表格中的行数。
j,Snapde.get_col_count(),获取当前电子表格中的列数
k,Snapde.resize(int nRow,int nCol),重置当前电子表格的行数和列数。nRow和nCol都需要大于1。
第六,剧本表演。
打开一个910M的CSV文件:london_crime_by_lsoa.csv,共有13490605行7列94434235个单元格。使用三个脚本执行简单的求和:
1.Exprtk脚本成本:4.343秒
2.c语言代价:1.203秒
3.Python语言花费:52.468秒