Liste in csv schreiben, Spaltentrennung funktioniert nicht
Verfasst: Dienstag 13. August 2013, 11:10
Hallo, ich habe eine Liste (Pandas Dataframe) in der immer die Position und der Wert gelistet sind.
0 230
1 240
.
.
.
20 270
Beim schreiben in eine csv bekomme ich die Auftrennung von Wert und Position nicht hin. Es wird immer als zusammengehörig gelesen. Hat jemand eine Idee?
import csv
import pandas as pd
import numpy as np
from scipy import *
from numpy import *
import matplotlib.pyplot as plt
dF = pd.read_csv("Example.csv", sep=';') #schreibt csv daten in pandas dataframe(dF)
xresult = [] #kreiert leere liste
xresult = dF.x #schreibt Daten aus csv in leere liste
print xresult #zeigt inhalt der liste in python
setmax = 285
setmin = 210
for i in range(len(xresult)):
if xresult > setmax:
xresult= 'NaN'
elif xresult < setmin:
xresult = 'NaN'
print xresult
l = len(xresult) #bestimmt die Anzahl der Werte
print "Datenanzahl:",l
b=xresult.count()
print "Anzahl vorhandener Werte:",b
e = l-b
print "Anzahl fehlender Werte:",e
xresult = dF.x.fillna(method = 'ffill') #bfill=backwardfill, ffill is filling the list with value before if na(=NaN)
xresult = [abs(xresult)]#bildet den Betrag der Zahl
mean=np.mean(xresult)#berechnet den Mittelwert
print "Mittelwert:",mean
std=(np.std(xresult))#berechnet Standardabweichung
print "Standardabweichung:",std
max = mean*1.15#berechnet oberen Toleranzwert
min = mean*0.85#berechnet unteren Toleranzwert
print "Obere Toleranz:",max
print "Untere Toleranz:",min
print xresult
out = csv.writer(open("Ausgabe.csv","w"), delimiter='\t',quotechar='"', quoting=csv.QUOTE_MINIMAL)
for row in xresult:
out.writerow(row)
0 230
1 240
.
.
.
20 270
Beim schreiben in eine csv bekomme ich die Auftrennung von Wert und Position nicht hin. Es wird immer als zusammengehörig gelesen. Hat jemand eine Idee?
import csv
import pandas as pd
import numpy as np
from scipy import *
from numpy import *
import matplotlib.pyplot as plt
dF = pd.read_csv("Example.csv", sep=';') #schreibt csv daten in pandas dataframe(dF)
xresult = [] #kreiert leere liste
xresult = dF.x #schreibt Daten aus csv in leere liste
print xresult #zeigt inhalt der liste in python
setmax = 285
setmin = 210
for i in range(len(xresult)):
if xresult > setmax:
xresult= 'NaN'
elif xresult < setmin:
xresult = 'NaN'
print xresult
l = len(xresult) #bestimmt die Anzahl der Werte
print "Datenanzahl:",l
b=xresult.count()
print "Anzahl vorhandener Werte:",b
e = l-b
print "Anzahl fehlender Werte:",e
xresult = dF.x.fillna(method = 'ffill') #bfill=backwardfill, ffill is filling the list with value before if na(=NaN)
xresult = [abs(xresult)]#bildet den Betrag der Zahl
mean=np.mean(xresult)#berechnet den Mittelwert
print "Mittelwert:",mean
std=(np.std(xresult))#berechnet Standardabweichung
print "Standardabweichung:",std
max = mean*1.15#berechnet oberen Toleranzwert
min = mean*0.85#berechnet unteren Toleranzwert
print "Obere Toleranz:",max
print "Untere Toleranz:",min
print xresult
out = csv.writer(open("Ausgabe.csv","w"), delimiter='\t',quotechar='"', quoting=csv.QUOTE_MINIMAL)
for row in xresult:
out.writerow(row)