Ich habe einen Pandas-Datenrahmen, der nach der Transponierung 2 Spalten hat. Wenn ich nach Excel exportiere, kommt die erste Spalte mit Formatierung, die nicht von xlsxwriter gesteuert werden kann (alle anderen Spalten können formatiert werden). Wenn ich versuche, eine neue Spalte in den Pandas-Dataframe bei Index 0 einzufügen, kommt sie bei Index 1. Warum ist diese erste Datenrahmenspalte in Pandas nicht änderbar und kann nicht mit xlsxwriter formatiert werden?Pandas können keine Spalte bei Index 0 hinzufügen
Hier ist meine Original-Code:
data_xls = pandas.read_excel(excelPath, "FlowTimes", index_col=None)
del data_xls['OBJECTID'] #Remove OBJECTID column
del data_xls['Shape_Length'] #Remove the Shape_Length column
data_xls.drop(data_xls.columns[0], axis =1) #Remove nameless first column
decimals = pandas.Series([0,2,0,2,0,2,0,2], index=['Length FT', 'Length MI','Flow Minutes - Mean Annual','Flow Hours - Mean Annual')
data_xls2 = data_xls.round(decimals)
data_export = data_xls2.transpose() #Transpose columns to rows
data_export.reset_index()
data_export.insert(0,"Temp", None) #THIS IS A TESTING LINE TO SEE WHERE THE COLUMN INSERTS - IT SHOULD INSERT AS THE FIRST COLUMN AT INDEX 0
print data_export
os.remove(excelPath)
writer = pandas.ExcelWriter(excelPath + "x")
data_export.to_excel(writer, sheet_name = 'FlowTimes', startcol = 0, startrow = 0, header=False) #header = false removes the 0 index in the first row
workbook = writer.book
worksheet = writer.sheets['FlowTimes']
format1 = workbook.add_format()
format1.set_align('right')
format1.set_border(0)
format2 = workbook.add_format()
format2.set_bold()
worksheet.set_column("A:A", 30, format1)
worksheet.set_column("B:Z", 12, format1)
worksheet.set_row(0,None, format2)
writer.save()
Wenn ich so nicht die data_export.insert Spalte zum Testen enthalten, sieht die Ausgabe:
0
Key Strategy Location Location A
Length FT 3551
Length MI 0.67
Flow Minutes - Mean Annual 35
Flow Hours - Mean Annual 0.58
Aber wenn ich schließen die data_export .Insert-Spalte bei Index 0, fügt es nach der ersten Spalte wie folgt ein:
Temp 0
Key Strategy Location None Location A
Length FT None 3551
Length MI None 0.67
Flow Minutes - Mean Annual None 35
Flow Hours - Mean Annual None 0.58
Wie kann Ich füge entweder eine neue Spalte bei Index 0 ein oder kontrolliere die Formatierung der ersten Spalte beim Exportieren mit xlsxwriter?