転置後に2列のPandasデータフレームがあります。 Excelにエクスポートすると、最初の列はxlsxwriterで制御できない書式設定となります(他の列はすべて書式設定できます)。インデックス0のパンダデータフレームに新しい列を挿入しようとすると、インデックス1に入ります。この最初のデータフレーム列はパンダでは変更不可能で、xlsxwriterでフォーマットできないのはなぜですか?ここでPandasはインデックス0に列を追加できません
は私の元のコードです:
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()
私はテストのためdata_export.insert列が含まれていない場合は、出力は次のようになります。
0
Key Strategy Location Location A
Length FT 3551
Length MI 0.67
Flow Minutes - Mean Annual 35
Flow Hours - Mean Annual 0.58
しかし、私はdata_exportが含まれている場合
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
どのようにすることができます:インデックス0の.insert列は、それがこのような最初の列の後に挿入しますxlsxwriterでエクスポートしているときに、インデックス0に新しい列を挿入するか、最初の列の書式を制御しますか?