Ich versuche, eine Liste von Daten in eine CSV-Datei zu schreiben. Da das es ist eine Liste von Byte-Strings, habe ich den Code untenTypeError: Codierung oder Fehler ohne String-Argument
with open(r"E:\Avinash\Python\extracting-drug-data\out.csv", "wb") as w:
writer = csv.writer(w)
writer.writerows(bytes(datas, 'UTF-8'))
Aber es ergibt sich folgende Fehler:
TypeError: encoding or errors without a string argument
datas
ist eine Liste der Byte-Strings.
print(datas)
ergibt
[b'DB08873', b' MOLSDFPDBSMILESInChIView Structure \xc3\x97Structure for DB08873 (Boceprevir) Close', b'394730-60-0', b'LHHCSNFAOIFYRV-DOVBMPENSA-N', b'Organic acids and derivatives ', b'Food increases exposure of boceprevir by up to 65% relative to fasting state. However, type of food and time of meal does not affect bioavailability of boceprevir and thus can be taken without regards to food. \r\nTmax = 2 hours;\r\nTime to steady state, three times a day dosing = 1 day;\r\nCmax]
I Die oben aufgeführte Liste soll als erste Zeile in einer CSV-Datei mit der Decodierung von Unicode-Zeichen gedruckt werden. Das heißt, \xc3\x97
sollte in das entsprechende Zeichen konvertiert werden.
Da Sie Bytes zurück in String konvertieren möchten, sollte es nicht 'str (Daten, 'UTF-8')' stattdessen sein? (Auch sollten Sie es nicht für jedes der Elemente anwenden, anstatt für die gesamte Liste?) –
Auch sollten 'data' für' writerows' eine Liste von Listen sein? –
@tobias_k zeigt 'TypeError: coercing to str: brauche ein bytesähnliches Objekt, Liste gefunden' –