このPythonスクリプトを使って、タブで区切られたファイルを読み込み、行が'\t'
で始まる部分をarray
に配置しました。私はこのために使用されるコード:タブ区切りファイルの読み込みと解析PHP
import sys
from collections import OrderedDict
import json
import os
file = sys.argv[1]
f = open(file, 'r')
direc = '/dir/to/JSONs/'
fileJSON = sys.argv[1]+'.json'
key1 = OrderedDict()
summary_data = []
full_path = os.path.join(direc,fileJSON)
Read = True
for line in f:
if line.startswith("#"):
Read = True
elif line.startswith('\tC'):
Read= True
elif line.startswith('\t') and Read == True:
summary = line.strip().split('\t')
key1[summary[1]]=int(summary[0])
Read = True
summary_data.append(key1)
data = json.dumps(summary_data)
with open(full_path, 'w') as datafile:
datafile.write(data)
print(data)
私が解析していたデータ:
# BUSCO was run in mode: genome
C:98.0%[S:97.0%,D:1.0%],F:0.5%,M:1.5%,n:1440
1411 Complete BUSCOs (C)
1397 Complete and single-copy BUSCOs (S)
14 Complete and duplicated BUSCOs (D)
7 Fragmented BUSCOs (F)
22 Missing BUSCOs (M)
1440 Total BUSCO groups searched
をしかし、私はPHPで、このコードが必要です..私はPHPにしてにファイルを開くために管理していますこれを読む!誰かが私を助けてくれますか?
ありがとう!これは 'Undefined offset:1'を返しましたか? –
@AnnaJeanine cliコマンドでファイル名を追加しましたか? like 'php script.php fileWithTabs' –
はい! C:98.0%[S:97.0%、D:1.0%]、F:0.5%、F:0.5%という文字列を返す 'var_dump($ summary) M:1.5%、n:1440 "} ..だから、その行をスキップしませんでした..どのように最初のタブで区切られた行をスキップすることができますか? –