我有一些数据由终端记录并保存到一个typescript文件中。我知道如果需要的话我可以把它改成.txt。问题似乎是,尽管在请求文件编码时返回UTF-8,但我得到的错误似乎暗示编码是另一回事。例如,我无法将内容复制并粘贴到Word或其他文本编辑器中。你知道吗
不管怎样,我没有幸用标准的.gsub!
或.tr
方法从这个文件中删除非数字字符。你知道吗
输入如下所示:
_4ÑZŸs_4ÑZâ7o[?1034h
_4ÑZ8obash-3.2$ e4ÑZ”C
i[A e4ÑZõD
oscript -re4ÑZˇ?
i[Ae4ÑZ∑@
opython go.pyf4ÑZÌ
i
f4ÑZ£Ì
o
f4ÑZÊÚoattn 0
f4ÑZ,Ûoattn 0
attn 0
Hf4ÑZuÛoattn 0
attn 0
attn 0
attn 0
attn 0
attn 0
attn 0
其中“0”可以是0到128之间的任意数字。你知道吗
我只想要“attn”后面的数字,而不是attn。你知道吗
这是我目前的代码:
File.open("input.txt").each do |line|
number = line.gsub('[0-9]+', ' ')
File.open("output.txt", "w+") { |f| f.write(number) }
end
根据我所做的任何小改动,我要么得到一个枚举器,要么只得到输入文件的最后一个数字。你知道吗
从没想过做这么基本的事会这么难。你知道吗
加分:让程序输出这些数字,然后将它们插入excel工作表的第1列或第3列(直到我在终端终止程序为止),最好的方法是什么?你知道吗
生成输入文件的Python程序只是从一个串行对象中获取值并将它们输出到终端,终端生成所讨论的文本文件。我只是徒劳地尝试将它们从这个文本文件手动移动到Excel(我现在愚蠢地尝试用一个简单的Ruby
脚本来自动化这个任务)。你知道吗
Python或Ruby中的一个脚本就足够了,只要它接受一个.txt文件作为输入(因为我正在处理已经生成的数据)。你知道吗
我有Mac,所以我用网页,如果这有区别的话。你知道吗
Here是有问题的原始文件。编辑:出于安全原因删除了文件。你知道吗
TL;博士
如何在一个新的行上只打印typescript(似乎不是UTF-8)文件中的数字(每个数字有1-3位数长)?
如何使整个过程自动化,并让Python程序无限期地(在无限while True:
循环中)将值插入到.numbers
(Excel for Mac)文件中?
谢谢你!你知道吗
谢谢你的回答。最终对我有效的解决方案是获取二进制文件并通过以下脚本运行它:
strings input.txt | grep -o "\d.*" | uniq > output.txt
如前所述,它使用Unix命令
strings
仅从二进制文件生成字符串,然后运行grep
命令仅将每个数字的唯一实例(未排序,因为其基于时间的数据)输出到输出文件。然后我用Excel做进一步的过滤。你知道吗正则表达式:^{} 或
(?<=^attn\s)\d+
详情:
(?<=)
正面回顾\s
匹配任何空格字符(等于[\r\n\t\f\v ]
)(?:)
非捕获组[]
匹配列表中的单个字符{n,m}
在n
和m
次之间匹配|
或Python代码:
输出:
Code demo
你真的应该把这个问题分成两个独立的问题。以下是对第一个问题的回答;一些Ruby代码可以满足您的需要:
相关问题 更多 >
编程相关推荐