我正在做一个程序,我将excel文件导出到.txt,我必须将这个.txt文件导入我的程序。主要目标是从每一行中提取相同的部分,但问题是在.txt文件中,excel的行被制作成一个没有/n的巨大字符串。你知道在程序中是否有办法将它们分开吗?如果有,我该怎么做?
我正在使用的文件可以在http://we.tl/YtixI1ck6l到目前为止,我正在尝试类似的东西
ppi = []
for line in read_text:
prot_interaction = line[0:14]
ppi.append(prot_interaction)
result_ppi = []
for line in read_text:
result = line[-1]
result_ppi.append(result)
但由于它不是按行格式化的,而是按单个格式格式化的,所以我没有得到任何好的结果。
以该文件为例,使用csv模块对其进行解析。
示例:
import csv
with open('/tmp/Model_Oralome.txt', 'rU') as f:
reader=csv.reader(f, delimiter="t")
for row in reader:
print row[0]
打印:
ppi
C4FQL5;Q08426
C8PB60;D2NP19
P40189;Q05655
P22712;Q9NR31
...
P05783;P02751
B5E709;D2NPK7
Q8N7J2;Q9UKZ4
(顺便说一句,这个特定文件可能存在的问题是,行终止仅来自Mac Classic操作系统的CR。您可以在打开文件时使用通用换行模式在Python中解决这个问题…)
Excel正在导出带有回车(\r)而不是换行(\n)的文本文件。
ppi = []
with open("Model_Oralome.txt",'r') as f:
lines = f.readlines()
lines = lines[0].split('r')
从这里,您可以遍历每一行。因为看起来你想要第一列的值:
lines = lines[1:]
for line in lines:
content = line.split('t')
ppi.append(content[0])