【发布时间】:2015-04-13 03:47:12
【问题描述】:
我有复杂的可变文本文件,我想将其读入 Python,但我不确定最佳策略是什么。我不是在找你为我编写任何代码,只是一些关于哪些模块最适合我的需求/提示等的提示。
文件看起来像:
Program
Username: X Laser: X Em: X
exp 1
sample 1
Time: X Notes: X
Read 1 X data
Read 2 X data
# unknown number of reads
sample 2
Time: X Notes: X
Read 1 X data
...
# Unknown number of samples
exp 2
sample 1
...
# Unknown number of experiments, samples and reads
# The 4 spaces between certain words represent tabs
要分析这些数据,我需要获取每个读数的数据,并知道它来自哪个样本和实验。另外,我可以更改输出文件格式,但我认为我在这里编写它的方式是最容易阅读的。
要将这个文件读入 Python,我能想到的最好方法是逐行读取并使用正则表达式搜索关键词。例如,搜索“exp”关键字的行,然后记录它后面的数字,然后在下一行搜索sample,依此类推。但是,如果在“注释”部分使用关键字,这当然不会起作用。
所以,我有点不知道什么最适合我的需求(如果你不知道它存在,就很难使用它!)
感谢您的宝贵时间。
【问题讨论】:
-
查看 Ned Batchelder 的 Python Parsing Tools 列表。
-
通常人类易于阅读的格式并不容易被程序准备好。可能值得拥有一个输出到的中间格式和两个程序 - 一个用于漂亮地打印它,另一个用于进行分析。
标签: python python-2.7 text-parsing