我有一个制表符分隔的文本文件,其中包含以下数据:
ahi1
b/se
ahi
test -2.435953
1.218364
ahi2
b/se
ahi
test -2.001858
1.303935
我想把这两个浮点数提取到一个有两列的单独的csv文件中,即
^{pr2}$目前我的黑客尝试是:
import csv
from itertools import islice
results = csv.reader(open('test', 'r'), delimiter="\n")
list(islice(results,3))
print results.next()
print results.next()
list(islice(results,3))
print results.next()
print results.next()
这并不理想。我是Python的傻瓜,所以我提前向你道歉并感谢你抽出时间。在
也许这能帮上忙
例如
^{pr2}$足够棘手但更具说服力和顺序性的解决方案:
工作原理:基本上删除特定的文本行,然后删除行中不需要的文本,然后用格式连接每一行。我只是为了美化而加了逗号。如果你不需要的话,把逗号从awks printf中去掉。在
以下是执行此操作的代码:
输出:
^{pr2}$不用打印出这些数字,你可以把它们保存在一个列表中,然后再把它们压缩在一起。。 我使用python regular expression framework来解析文本。如果你还不知道正则表达式,我只能建议你选择它。我发现解析文本和各种机器生成的输出文件非常有用。在
编辑:
哦,顺便说一句,如果你担心性能,我在我那台缓慢的老式2ghz IBM T60笔记本电脑上进行了测试,我可以使用regex在大约200毫秒内解析一兆字节。在
更新: 我感觉很好,所以我为你做了最后一步:P
相关问题 更多 >
编程相关推荐