2016-06-11 8 views
2

Dies ist meine erste Frage hier, wenn ich nicht folgen perfekte Etikette bitte verzeih mir. Ich habe ungefähr 6 Stunden nach einer Antwort gesucht, also dachte ich, es wäre Zeit zu fragen. Ich bin neu in Python und versuche die Dateneingabe mit Selenium zu automatisieren. Mir geht es gut, stecke aber an dem Teil fest, an dem ich Daten aus Excel ziehe. Die Daten ziehen ist nicht das Problem, aber mein Excel zu sagen, die oberste Zeile zu löschen oder auf die nächste zu verschieben, ist. Hier ist ein Beispiel von meinem Skript:Versuchen, obere Zeile aus Excel-Tabelle mit Python zu entfernen

import pandas as pd 
from pandas import ExcelWriter 
import numpy as np 

xl = pd.ExcelFile('C:\\Users\\Steph_000\\Desktop\\students2.xlsx') 
xl 

wr = pd.ExcelWriter('C:\\Users\\Steph_000\\Desktop\\students2.xlsx') 

xl.sheet_names 

['Sheet1'] 

df = xl.parse('Sheet1') #This reads the sheet into a dataframe 
df 

cp = pd.read_excel('C:\\Users\\Steph_000\\Desktop\\students2.xlsx') 

IDNum = cp[:1] #This pulls the first row as a variable 

print(IDNum) #This is where it prints to the search bar to look the student up 

chart = cp[1:] #This pulls everything but the first row as a variable 

print(chart) 

df.to_excel(wr, 'Sheet1') 
wr.save() #This is supposed to overwrite it, but just saves it as blank 

Egal was ich tue, kann ich nicht bekommen es die Zeilen zu bewegen, oder so etwas. Ich kämpfe sehr und bin sehr frustriert. Ich werde einen anderen Python-Wrapper als Pandas verwenden, wenn ich muss, aber ich habe bereits versucht, openpyxl, xlrd und xlwr vergeblich! Zieh mir die Haare aus, danke im Voraus!

Antwort

1

Schauen Sie sich beispielsweise unter:

  • Motor fehlt = 'xlsxwriter'
  • fehlt SHEET_NAME = 'Sheet1

Blick auf diese:

  import pandas as pd 
      #Create a Pandas dataframe from the data. 
      df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]}) 

      # Create a Pandas Excel writer using XlsxWriter as the engine. 
      writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter') 

      # Convert the dataframe to an XlsxWriter Excel object. 
      df.to_excel(writer, sheet_name='Sheet1') 

      # Close the Pandas Excel writer and output the Excel file. 
      writer.save() 

http://xlsxwriter.readthedocs.io/working_with_pandas.html

+0

Aber th Das hilft mir nicht wirklich, weil ich einen Datensatz importiere, der nicht von Grund auf neu erstellt wird. Ich versuche, die Excel-Datei, die ich importiert habe, mit den neuen Daten zu überschreiben (entweder jede Zeile zu verschieben, aber die erste, um sie zu überschreiben oder die erste Zeile zu löschen), damit sie nach dem Rest des Skripts wieder geladen werden kann läuft, damit ich es loopen kann. Wenn ich nicht etwas falsch verstehe? – user6452366

+1

Tun Sie es in Schritten .. Nehmen Sie den Code oben, fügen Sie es zu Ihrem Skript und überprüfen Sie, ob es funktioniert. Dann bewegen Sie sich schrittweise zu Ihrer Lösung. – Merlin

+0

Ich denke, ich habe einen einfacheren Weg entdeckt, um dies zu tun, und es funktioniert fast (ich habe vor, eine andere Frage über die Syntax zu stellen, weil ich es scheinbar nicht richtig verstehe), aber ich werde immer noch geben Sie haben die richtige Antwort, weil Sie mir geholfen haben und ich weiß, das ist eine ziemlich große Sache hier! Vielen Dank! – user6452366

Verwandte Themen