Ich habe eine sehr große Textdatei, die wie unten wie folgt aussieht:neue Datei in Python 2.7
datei.txt
rs121334 6546
rs42323 4214
rs254532 5223
. .
. .
rs42323 5223
, wo die erste Spalte eine rs-Nummer und die zweite Spalte eine Gen-Nummer. Ich möchte einen Code schreiben, der in der Datei file.txt nach bestimmten Gennummern sucht und die Zeilen schreibt, in denen diese spezifischen Gennummern in einer anderen set.txt-Datei gefunden wurden. Ich habe den folgenden Code, aber es funktioniert nicht:
dta=open("file.txt","r")
w=open("set.txt","w")
searchgenes=('5223','2645')
for line in dta.readlines():
line=line.split()
for word in searchgenes:
if word in line[1]:
w.write(line)
Wenn ich den Code ausführen, bekomme ich typerror
:
erwartet ein Zeichenpuffer-Objekt.
Jede Hilfe/Vorschläge werden geschätzt. Vielen Dank!
Wie die Input/Output-Dokumentation besagt, "Um etwas anderes als eine Zeichenfolge zu schreiben, muss es zuerst in eine Zeichenfolge konvertiert werden". Ändern Sie einfach Ihre letzte Zeile in: w.write (str (line)) – n1c9