Ncbi BLASTレポートを解析するスクリプトを作成しようとしています。このエラーの原因となっている列は、ゲノムGI番号です。Blast parsing:AttributeError: 'float'オブジェクトに 'split'属性がありません
など。 LT697097.1
最後に小数点があります。これを分割してGI番号を取得しようとすると、このエラーが発生します。
Django AttributeError 'float' object has no attribute 'split'このエラーは、splitはfloat値であるとみなしているためです。
したがって、Pandas reading csv as string typeのアドバイスを使用して、pandas列を文字列としてインポートしました。
レポートには自動的に列名がないため、列番号を使用しています。
import pandas as pd
df = pd.read_csv("out.txt", sep="\t", dtype=object, names = ['query id','subject ids','query acc.ver','subject acc.ver','% identity','alignment length', 'mismatches','gap opens','q.start','q.end','s.start','s.end','evalue','bit score'])
sacc = df['subject acc.ver']
sacc = [i.split('.',1)[0] for i in sacc]
私はまだAttributeErrorエラーを受け取ります: 'float'オブジェクトには属性 'split'がありません。
次に、Convert Columns to String in Pandasのように、astype(str)を試しました。
これは列の読み取りに失敗し、出力値として列名属性のみを持ちます。
あなたは私のアプローチで間違っているところでアドバイスをしていただけますか?