Ich schreibe gerade ein Skript, wo ich eine csv-Datei ('tableau_input.csv') zusammen mit anderen Spalten und Spalten csv-Dateien erstellt von mir erstellt. Ich habe versucht, den folgenden Code:Spalte von einer .csv zu einer anderen .csv-Datei hinzufügen mit Python
def make_tableau_file(mp, current_season = 2016):
# Produces a csv file containing predicted and actual game results for the current season
# Tableau uses the contents of the file to produce visualization
game_data_filename = 'game_data' + str(current_season) + '.csv'
datetime_filename = 'datetime' + str(current_season) + '.csv'
with open('tableau_input.csv', 'wb') as writefile:
tableau_write = csv.writer(writefile)
tableau_write.writerow(['Visitor_Team', 'V_Team_PTS', 'Home_Team', 'H_Team_PTS', 'True_Result', 'Predicted_Results', 'Confidence', 'Date'])
with open(game_data_filename, 'rb') as readfile:
scores = csv.reader(readfile)
scores.next()
for score in scores:
tableau_content = score[1::]
# Append True_Result
if int(tableau_content[3]) > int(tableau_content[1]):
tableau_content.append(1)
else:
tableau_content.append(0)
# Append 'Predicted_Result' and 'Confidence'
prediction_results = mp.make_predictions(tableau_content[0], tableau_content[2])
tableau_content += list(prediction_results)
tableau_write.writerow(tableau_content)
with open(datetime_filename, 'rb') as readfile2:
days = csv.reader(readfile2)
days.next()
for day in days:
tableau_write.writerow(day)
'tableau_input.csv' ist die Datei, die ich bin zu schaffen. Die Spalten 'Visitor_Team', 'V_Team_PTS', 'Home_Team', 'H_Team_PTS' stammen von 'game_data_filename' (z. B. tableau_content = score [1 ::]). Die Spalten 'True_Result', 'Predicted_Results', 'Confidence' sind Spalten, die in der ersten for-Schleife erstellt wurden. Bis jetzt funktioniert alles, aber schließlich habe ich versucht, die 'Date'-Spalte Daten aus dem' datetime_filename 'mit der gleichen Struktur wie oben hinzuzufügen, aber wenn ich meine' tableau_input 'Datei öffne, gibt es keine Daten in meiner' Date 'Spalte . Kann jemand dieses Problem lösen?
Für Informationen, unten sind Screenshots von CSV-Dateien jeweils für 'game_data_filename' und 'datetime_filename' (nb: Datums- und Uhrzeitwerte sind in Datetime-Format)
Was haben Sie mit dem Debugger versucht? Öffnet die Datei mit Inhalt in 'readfile2'? Auch dies wird vermutlich alle Eingabezeilen zuerst schreiben, und dann alle Datenzeilen unten, wollen Sie nicht beide Dateien öffnen, beide zusammen anfügen und dann schreiben sie? –
Ja, ich habe Inhalt in readfile2 (datetime-Werte) und ja im Grunde ist die Idee append Inhalt beider Dateien in meiner neuen csv-Datei 'tableau_input'. Das habe ich nicht bemerkt. Hast du einen Weg, dies zu erreichen? – DiamondDogs95
Haben Sie die Datumszeile am Ende der Datei? –