2017-02-08 5 views
-1

Mein Code:alle Eingabefelder müssen gleiche Anzahl von Dimensionen Python haben

GL_A = [2,3,4,5,6,7,8] 
DB_c = [88] 

writer.writerow(numpy.append(GL_A[i],DB_c[j], index)) 

Der Fehler:

Traceback (most recent call last):  
    File "<ipython-input-61-16267abc0150>", line 1, in <module> 
    runfile('C:/Users/cp1/PythonScript/linearregression.py', wdir='C:/Users/cp1/PythonScript') 
    File "C:\Users\cp1\AppData\Local\Continuum\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile 
    execfile(filename, namespace) 
    File "C:\Users\cp1\AppData\Local\Continuum\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile 
    exec(compile(f.read(), filename, 'exec'), namespace) 
    File "C:/Users/cp1/PythonScript/linearregression.py", line 59, in <module> 
    writer.writerow(numpy.append(GL_Account_Number[i],DB_clusters[j], index)) 
    File "C:\Users\cp1\AppData\Local\Continuum\Anaconda3\lib\site-packages\numpy\lib\function_base.py", line 4586, in append 
    return concatenate((arr, values), axis=axis)  
ValueError: all the input arrays must have same number of dimensions 

Die Ausgabe, die Ich mag würde, ist haben column1 mit allen Elemente von GL_A und eine Spalte2 mit Wiederholung von 88 (DB_c)

Irgendwelche Vorschläge?

+0

Hat dies Ihr Problem gelöst? – Chuck

Antwort

1

The output that I would like to have is column1 with all element of GL_A and a column2 with repetition of 88 (DB_c)

1) Erstellen Sie ein neues Array, das die gleiche Länge wie GL_A ist, die den einzelnen Wert in DB_c enthält wiederholt:

GL_A = [2,3,4,5,6,7,8] 
DB_c = [88] 
DB_cn = DB_c * len(GL_A) 

>>> 
DB_cn = [88, 88, 88, 88, 88, 88, 88] 

Sie werden dann zwei Arrays die gleiche Länge haben, die gespeichert werden können als 2 getrennte Spalten.

2) Machen Sie beide Arrays zip mit der Ausgabe erhalten Sie wollen:

Insgesamt:

GL_A = [2,3,4,5,6,7,8] 
DB_c = [88] 
DB_cn = DB_c * len(GL_A) 

import csv 

with open('some.csv', 'wb') as csvfile: 
    writer = csv.writer(csvfile) 
    writer.writerows(zip(GL_A,DB_cn)) 

Und Ihre Datei:

>>> some.csv Output: 

2 88 
3 88 
4 88 
5 88 
6 88 
7 88 
8 88 

Sie können Header fügen Sie diese, wenn Sie benötigen.

Verwandte Themen