Bir listeyi nasıl alacağımı anlamaya çalışıyorum ve csv dosyasımda yeni bir sütun oluşturmak için bunu kullanıyorum. Fikir bir cvs dosyası var, bir liste oluşturmak için her satırın son öğeyi aldım, karıştırdı ve sonra dosyanın sonuna eklemek gerekiyor.Bir CSV dosyasında yeni bir sütun oluşturma
Karşılaştığım bazı sorunlar ama 'düşünüyorum' düzeltildi: Python dizelere eklenmeyecek, böylece int olarak değiştirdim. . Ne var bugüne kadar sütun başlığını çıkarma ve yeniden eklemeden
geçerli:
def fun():
import csv
import random
f = open('CSVFUN.csv')
csv_f = csv.reader(f)
ISI = []
for line in csv_f:
ISI.append(line[4])
ISI = ISI[1:]
random.shuffle(ISI)
delay = [int(i) for i in ISI]
print(delay)
with open('CSVFUN.csv','r') as csvinput:
with open('CSVOUTPUT.csv','w') as csvoutput:
writer = csv.writer(csvoutput, lineterminator='\n')
reader = csv.reader(csvinput)
for row in reader:
if row[0] == 'practicesentence':
writer.writerow(row+['FINALaudioDelay'])
else:
for i in delay:
writer.writerow(row+[delay[i]])
ben şimdi yaşıyorum sorunu benim son else gecikme listemde yineleme olduğunu düşünüyorum ve listenin her öğesini bir satırdaki her öğeye ekleyerek. Yani madde 1 8 gecikme alıyor, madde 2 8 gecikme oluyor, vb.
İstediğim şey, öğe 1'in ilk gecikme, ikinci gecikme ile öğe 2'ye gidip gelmesidir. Sonra .kodunuz
aptal hata çeşit yapma gibi hissediyorum ama sadece ne olduğunu çözemiyorum ....