python将多列文件读入数组

标签 python

我正在尝试读取一个如下所示的文件:

Protein in water
5826
300LEU      N 2945   7.972  16.153  13.055 -0.0183  0.4861 -0.4376
300LEU      H 2946   8.006  16.194  13.139  1.5894  1.3176 -1.4422
300LEU     CA 2947   8.017  16.020  13.016  0.1247  0.7136 -0.1096
300LEU     CB 2948   8.157  15.990  13.077 -0.0499  0.0576  0.0414
300LEU     CG 2949   8.273  16.081  13.032 -0.3927 -0.5342  0.1311
300LEU    CD1 2950   8.271  16.143  12.895  0.2232  0.1271  0.2677
300LEU    CD2 2951   8.281  16.197  13.136  0.0409 -0.0097  0.0710
300LEU      C 2952   7.917  15.908  13.047  0.5031  0.0949  0.0620
300LEU      O 2953   7.955  15.799  13.093 -0.2261 -0.5800  0.0226

我必须去掉前两行并分别阅读不同的列。 我试过这个:

 with open('file.txt') as fa:
     for line_aa in fa.readlines()[3:11]:
         line_aa = line_aa.strip()
         print line_aa
         col1,col2,col3,col4,col5,col6,col7,col8,col9 = line_aa.split('\t',9)

但我收到以下错误:

300LEU      H 2946   8.110  15.548  13.027 -0.0632  0.8718 -0.8443
Traceback (most recent call last):
File "rmsd_cg_vs_aa.py", line 50, in <module>
col1,col2,col3,col4,col5,col6,col7,col8,col9 = line_aa.split('\t',9)
ValueError: need more than 1 value to unpack

我在这里错过了什么?

最佳答案

你在制表符上拆分,尝试在空格上拆分,而不是只使用:

str.split()

那么你应该得到你想要的。

关于python将多列文件读入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11900775/

相关文章:

python - Python 中是否有类似于 Perl 中的 "want"的内容

python - 除了在 Python 2.7 中,使用 try ... 锁的最佳用法是什么?

python - Sphinx/Pygments 中有没有一种方法可以在文字包含中强调一行或多行代码?

python - 为什么我的 .txt 文件中只出现前三行 -?! Raspberry Pi - 温度湿度读数

python - PyQt 进度条的忙碌指示

python - 使用 PyGithub 获取 Github 中的用户信息

python - 分发依赖于内部通用便利库的 Python 包

Python threading.Event() - 确保所有等待的线程在 event.set() 上唤醒

Python/Pygame 网格设计因附加 "index out of range"而失败

python - 将 Python 编译为 WebAssembly