尝试将多列打印到 .tsv 文件中的一行

时间:2021-04-29 20:20:30

标签: python csv

我正在尝试将扫描数据文件中的多列打印到一行。这是我的代码:

#Searches for keyword
for line in data:
    if 'REMARK 300 BIOMOLECULE' in line: 
            bio = line.split()
            bio_molecules = bio[3] + bio[4] + bio[5] + bio[6] + bio[7] 

print("\t".join([pdb_name , bio_molecules]), file=datafile)    
datafile.close()

我正在尝试获取它,以便它将列打印到 .tsv 文件中,如下图所示。

example

这是我正在读取的数据文件

data file

问题是,当我扫描时出现错误:索引超出范围。我的一些文件没有 5 列。

2 个答案:

答案 0 :(得分:0)

只需抓住列表的末尾即可。

    bio_molecules = ','.join(bio[3:])

答案 1 :(得分:0)

您可以按如下方式组织您的任务

 "nsis": {
      "createDesktopShortcut": "always",
      "oneClick": false,
      "perMachine": false,
      "allowElevation": true,
      "allowToChangeInstallationDirectory": true,
      "installerIcon": "build/icon.ico",
      "uninstallerIcon": "build/icon.ico",
      "installerHeaderIcon": "build/icon.ico",
      "installerSidebar": "build/installerSidebar.bmp",
      "uninstallerSidebar": "build/uninstallerSidebar.bmp",
      "license": "license_en.rtf"
    },
    "win": {
      "target": [
        "nsis"
      ],
      "icon": "build/icon.ico",
      "files": [
        "!release-builds/*",
        "!build/*",
        "!.vscode/*",
        "!.gitignore/*"
      ]
    }
相关问题