UltraEdit能否实现行对齐
原始数据:1Tom199101012Jim199309123Lily199011014Bella19920924....想要的显示结果:1Tom199101012Jim1...
原始数据:
1 Tom 19910101
2 Jim 19930912
3 Lily 19901101
4 Bella 19920924
....
想要的显示结果:
1 Tom 19910101
2 Jim 19930912
3 Lily 19901101
4 Bella 19920924
....
行和列都比较多,所以UE打开是最佳选择,可以对所有错位数据作这种处理吗?若有解决之道必当重谢。 展开
1 Tom 19910101
2 Jim 19930912
3 Lily 19901101
4 Bella 19920924
....
想要的显示结果:
1 Tom 19910101
2 Jim 19930912
3 Lily 19901101
4 Bella 19920924
....
行和列都比较多,所以UE打开是最佳选择,可以对所有错位数据作这种处理吗?若有解决之道必当重谢。 展开
1个回答
展开全部
你想不改变文本而只改变显示?
我所了解的工具都做不到,都须先整理分隔符。
如果整理, UltraEdit 也并非最佳选择。
Excel 或 EmEditor 方便得多(见下)。
==========
如果一定要用 UltraEdit :(如图)
▼先把 连续的空格 替换为 一个tab符(或其他你想要的分隔符,比如:一个空格)
查找(Perl正则表达式):
+
▲+前有个空格
替换为:
\t
▼然后:
[列]菜单 >> 转换为固定列...
在打开的对话框中设置。
▲注意:[字段宽度]一定要填写准确,否则破坏数据!(这就是 UltraEdit 最傻缺的设计)
----------
另外, UltraEdit 还有一种“单列调整”的方式(如图):
==========
Excel 的处理步骤(如图):
==========
EmEditor 的处理步骤(如图):
◆只需一步替换,然后直接用 TSV模式 查看:
更多追问追答
追问
太感谢你的回答了,不过我要处理的数据有3G多,总共180多列,有很多错位的,原始文件是DAT格式的,只有UE才能打开,我想处理那些错位的再作为后续使用,不知道有没有什么好的处理方法。
追答
扩展名不是问题,只要是文本,其他工具一样能处理。
这数据应该是某种程序产生的吧。
那处理完后是否要返回给源程序?
若要返回,那得符合原格式,否则改也白改。
若无需返回,那你可以取些样本,三个工具都试试。
我能提供的更多信息:
▲ EmEditor 自称能打开 >248 GB 的文件,有独特的“大文件控制器”,可人为控制 部分打开。
但G级文件,用华丽的功能查看编辑,肯定是不现实的。
▲建议用 EmEditor 的“分割文件”功能。
▲这样的功能也有别的工具。但 EmEditor 会自动判断编码等,较为可靠。
▲如有必要,事后还可以用 EmEditor “合并文件”还原。
文件裁小后,处理起来就轻松了。
▲可以考虑用“文件中替换”功能,批量处理。 EmEditor/UltraEdit 都有此功能。
◆但 UltraEdit 处理中文不可靠,须谨慎。
至于把“错位”处理成什么结果,个人建议是 TSV 或 CSV。
==========
◆不过,建议你再分析一下原格式的规律。
因为我猜想可能有两种情形:
1▲分隔符长度是恒定的(比如都是8个空格),而由于数据不等长(比如Tom/Bella),造成错位。
▲这种情形,用 TSV/CSV 最合适,事后还原也方便。
2▲同一(或所有)字段长度是恒定的(比如: Tom+13个空格 = Bella+11个空格 = 16 = 字段总长)。
▲这种情形,其实就是 UltraEdit 的“固定列”格式,在文本编辑器中应该是整齐显示的,但与所选字体有关(◆要选用 等宽字体 :半角字符宽度一致)。
▲这种情形如果整理成 TSV/CSV ,可先记下各字段长度,以便事后还原。
除了这两种格式,我想不出其他没有规律的分隔方式对于源程序有什么意义。
▲请再仔细观察一下,以免徒劳。
如果愿意,可以给我些样本看看。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询