如果csv文件超过104万行Excel、wps打不开,使用什么软件对对超大CSV文件进行编辑呢?Snapde,它是最好用的CSV大文件编辑电子表格软件之一,内核全部用c语言编写,对于数据编辑和运算非常轻巧强大;能轻松打开2G大小一两千万行的CSV大文件,除了常用电子表格编辑功能,还具有:文件分割、合并、过滤、排序、删除重复等基本功能;并且集合了Exprtk、C语言、Python等脚本执行器,能在表格中写这三种脚本对数据进行运算处理,运行速度可以比java、C#都快。
软件特色 1、运行速度:打开CSV文件速度比Excel、WPS快四倍,上百兆的CSV文件打开只需十几秒,上千万行的排序都可以几秒内完成
2、内存占用:文件内容全部放在内存中,纯粹的C语言指针将内存使用优化到极致,大部分情况内存也就比CSV文件大2-3倍,有些情况内存甚至比CSV文件还小
3、CSV大小:看机器内存,一般8G内存机器可以一次编辑2G的CSV文件
4、最大行数:Excel2007以上版本最多为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,这三种语言都可以直接虐杀它
7、运行环境:windows
一、文件功能
1、新建电子表格,默认是299行、25列,如果想要增加行数可以在底下空白处双击鼠标左键一次添加300行,想要增加列数可以在右边空白处双击鼠标左键一次添加26列;如果想要精确控制行列数可以在编辑下的编辑行列数菜单设置具体行列数
2、打开CSV、TXT、smd文件,CSV是逗号分隔的文本文件,TXT是tab键分割的文本文件,smd是Snapde自身定义的文件格式(打开保存速度比CSV、TXT快两倍),软件可以自动识别GBK、UTF8、UNICODE编码,保存只能保存成GBK编码
3、分页打开,如果CSV文件太大可以进行非凡也打开,指定是否保留第一行标题、开始行号、一次打开的行数
4、文件保存,新建、打开、分页打开的文件进行保存
5、另存,当前文件可以另存为新文件或者新格式文件
6、追加,将很多子文件追加打开到本文件中,如果第一行标题相同会自动过滤掉新文件标题行
7、分割,将本文件分割保存成多个子文件,包括:是否保留第一行标题,按行数分割或者按文件数分割
二、编辑功能
1、灵活的选择集:全选、行选、列选、框选
2、单元格非常优秀的多行编辑功能,单元格支持编辑几兆到几十兆的多行文本
3、编辑支持包含数字的序列变化:框选需要变化的单元格进行编辑,按住ctrl键然后完成编辑,如果编辑内容中存在数字这些单元格会得到序列变化内容,否则内容相同
4、强大的撤销、重做功能
5、支持对选择集的剪切、复制、粘贴
6、清除内容
7、删除:删除选定行、列
8、全选
9、插入行/列:在选定行或列前面可以插入一行或一列
10、恢复宽高:将选定的行或列恢复成默认的宽高
11、隐藏:将选定的行或列进行隐藏
12、取消隐藏:将选定行或列中间的隐藏行列进行显示
13、放大、缩小:对电子表格进行放大或缩小
14、转跳:转跳到指定的行列
15、设置过滤:对选择集设置过滤(如果只选择了一个单元格那就是对全部进行过滤),只显示过滤条件内的数据
16、删除重复:对选择集中的重复数据进行删除(包括扩选整行删除)
17、升序排序:对选择集进行升序排序(包括扩选整行排序)
18、降序排序:对选择集进行降序排序(包括扩选整行排序)
19、隔行颜色:设置单双行背景显示不同颜色
20、添加300行:往后面添加300行
21、添加26列:往后面添加26列
22、设置行列数:精确设置电子表格的行列数
三、搜索
1、查找:往前、往后查找、计数
2、替换:替换下一个、全部替换
四、脚本
1、设置Exprtk脚本:将单元格设置为Exprtk脚本,可以在单元格进行脚本编辑和运行
2、设置TCC脚本:将单元格设置为C语言脚本,可以在单元格进行脚本编辑和运行
3、设置Python脚本:将单元格设置为Python脚本,可以在单元格进行脚本编辑和运行
4、设置普通文本
5、运行选择脚本:将选择集中脚本单元格按从左到右、从上往下运行
6、运行全部脚本:将电子表格中所欲脚本单元格按从左到右、从上往下运行
五、脚本接口
1、Exprtk脚本接口
A、Exprtk语法:https://github.com/ArashPartow/exprtk
B、Snapde封装的Expr接口:
单元格的数字变量,如:A1,代表第一行第一列的单元格数字变量,可以用它获取此单元格的值,也可以直接赋值数字
单元格的字符串变量,如:A1_,代表第一行第一列的单元格字符串变量,可以用它获取此单元格的字符串,也可以直接赋值字符串
a、to_lower(str),将字符串转化成小写
b、to_upper(str),将字符串转化成大写
c、to_string(num),将数字转化成字符串
d、to_number(str),将字符串转化成数字
e、get(row,col),获取row、col指定单元格的数字,如果是非数字字符串则返回0
f、set(row,col,num),将row、col、指定单元格设置为数字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指定的文件(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),将row、col、指定单元格设置为数字num
c、get_(int row,int col, char **data),获取row、col指定单元格的字符串,将结果放到data里,如果是是数字则将数字转化成字符串,注意:*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指定的文件(file必须是带名称的全路径),成功返回1,失败返回0
i、get_row_count(),获取当前电子表格的行数
j、get_col_count(),获取当前电子表格的列数
k、resize(int nRow, int nCol),重新设置当前电子表格的行列数,nRow、nCol都需要大于1
3、Python脚本
在使用Snapde功能前需要引入Snapde模块:import Snapde
a、Snapde.get(int row, int col),获取row、col指定单元格的数字,如果是非数字字符串则返回0
b、Snapde.set(int row, int col, double num),将row、col、指定单元格设置为数字num
c、Snapde.get_(int row,int col),获取row、col指定单元格的字符串,如果是是数字则将数字转化成字符串
d、Snapde.set_(int row, int col, char *str),将row、col、指定单元格设置为字符串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指定的文件(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秒
加载全部内容
Ghidra-Ghidra(反汇编工具)下载 v9.0.4中文版281.6M962人在玩Ghidra反汇编工具是由美国安全局推出的专门用于分析软件和病毒的反汇编工具,通过Ghidra能够对各类代码进行分析,从而判断其漏洞和恶意程序,有需要的可以下载使用。
下载Clash for Windows中文版-Clash for Windows(编程辅助代理工具)下载 v0.17.1中文版191.8M201人在玩ClashforWindows是一款编程辅助代理工具,该软件已经汉化,软件也是绿色的,用户直接打开就能用,软件帮助各种编程平台进行代理管理,更好的帮助用户管理各平台。
下载UltraEdit破解版下载-UltraEdit下载 v27.10.0.1392.3M153人在玩UltraEdit是一套功能超级强大的文本编辑器,能够满足你一切编辑需要,UltraEdit可以编辑文本、十六进制、ASCII码,可以取代记事本内建英文单字检查、C++及VB指令突显,可同时编辑多个文件。
下载makecode离线版-makecode(离线编程软件)下载 v3.6.3官方版232.4M83人在玩makecode离线版是一款为了方便没有网络或是网络较差的学校进行Microbit教学的软件,不受网络限制,随时都可以使用,界面和官方界面是一模一样的,使用上也是一模一样的,是一款非常好用的软件。。
下载ilspy下载-ilspy反编译工具下载 v7.0.0.6488官方中文版3.3M82人在玩ilspy反编译工具是一款强大的反编译工具适用于.net平台使用ilspy反编译工具可以轻松的反编译C#及VB程序马上下载这款中文版的ILSpy反编译工具吧。
下载aetool编程器破解版-AE Tool下载 v5.5官方版11.2M67人在玩AETool是一款安卓EMMC编程工具,通常用于给手机和各类平板电脑的EMMC进行读写和编程工作,是一款非常专业的维修和root软件,有需要的可以下载使用。
下载鱼跃CMS-鱼跃CMS下载 v2.2.15官方版4.1M63人在玩鱼跃CMS是鲶鱼CMS开发的一款面向企业的内容管理系统,是目前最轻量的内容管理系统,鱼跃CMS包含了企业建站所需的不同功能模块,例如新闻中心、产品中心、单页面、网站基本组件块、企业信息等,可以帮助您方便地实现各类展示效果的企业网站。
下载大漠插件破解版-大漠综合工具下载 v7.2119免费版8.7M54人在玩大漠综合工具是一款识图找字模拟插件,能够帮助用户轻松识别图片中的文字,大漠综合工具集前后台,文字识别,图色,键鼠,窗口,内存,DX,Call等功能于一身。
下载DBF Viewer 2000(数据库浏览工具)下载 v5.95中文版3.5M49人在玩DBFViewer2000数据库浏览工具是一款标准的xBase数据库浏览工具,而且还是一个xBase编辑器。DBFViewer2000支持Clipper、FoxPro、VFP、DB2KDBF等多种文件格式;还拥有自动关联.DBF文件和快速浏览的功能。。
下载appium for windows下载-Appium(自动化测试工具)下载 v1.15.1官方版142.9M47人在玩AppiumForWindows是一款开源的、多平台的自动化测试工具,原来主要是一个移动端的自动化框架,可用于测试原生应用,现在在windows、mac上也有GUI程序,提供给大家的是windows版本,有需要的赶快下载吧。
下载