Ich habe derzeit eine CSV mit den folgenden Spalten:
id, width, height, item_id, design
Ich möchte an diese Datei anhängen und eine neue Zeile erstellen, die jede dieser Spalten füllt. Wenn ich es mit sagen wir mal "hier testen" versuche, platziert es t, e, s, t usw. in jeder Zeile. Ich möchte Daten in ID, Breite, Höhe getrennt in Beispiel "neue ID", "neue Breite" usw. einfügen
Mein Code ist bisher:
import csv
with open('design_products_view.csv') as design_file, open('templates_view.csv') as templates, open('templates_view.csv', 'a') as templatesToWrite:
designs = list(csv.reader(design_file, delimiter=','))
template_files = list(csv.reader(templates, delimiter=','))
containsProduct = "Circle"
writer = csv.writer(templatesToWrite)
for row in designs:
if containsProduct in row[1]:
rowValue = row[1].split("'")[0]
for row in template_files:
if row[1]!= "width":
if rowValue in row[1] and row[3] == "8":
print(row[1])
writer.writerow("test here")
Writerrow akzeptiert nur ein Argument. Irgendeine Idee, wie ich das bewerkstelligen kann?
Lösung des Problems
Das passiert, weil writerow
erwartet wird, ein Iterable zu erhalten, wie eine list
. Python behandelt strings
Iterables vom Typ char
, wenn Sie also eingeben "hello"
, wird es als verarbeitet ['h', 'e', 'l', 'l', 'o']
.
Versuchen Sie es mit a list
in der writerow
Funktion:
writer.writerow([5, 60, 55, 4, 'metallic'])
Keine Kommentare:
Kommentar veröffentlichen