Zeilenweise Formatierung zusätzlich zur Spaltenformatierung mit xlsxwriter anwenden
Ich formatiere alle meine Spalten in einer Excel-Datei mit dem xlsxwriter-Modul:
def to_excel(video_report, feed):
# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('daily_report.xlsx', engine='xlsxwriter')
# Convert the dataframe to an XlsxWriter Excel object.
video_report.to_excel(writer, sheet_name='Video Overview', na_rep="-")
# Get the xlsxwriter objects from the dataframe writer object.
workbook = writer.book
worksheet = writer.sheets['Video Overview']
# Add some cell formats.
integer = workbook.add_format({'num_format': '0', 'align': 'center'})
decimal = workbook.add_format({'num_format': '0.00', 'align': 'center'})
percentage = workbook.add_format({'num_format': '0.0%', 'align': 'center'})
zebra = workbook.add_format({'bold': True})
worksheet.set_column('B:B', 13, integer)
worksheet.set_column('C:C', 17, percentage)
worksheet.set_column('D:D', 19, percentage)
worksheet.set_column('E:E', 15, integer)
worksheet.set_column('F:F', 15, percentage)
worksheet.set_column('G:G', 15, decimal)
worksheet.set_column('H:H', 13, integer)
worksheet.set_column('I:I', 13, integer)
worksheet.set_column('J:J', 13, integer)
worksheet.set_column('K:K', 13, integer)
worksheet.set_column('L:L', 13, integer)
worksheet.set_row(3, 20, zebra)
feed.to_excel(writer, sheet_name='Feed Position', na_rep="-")
workbook1 = writer.book
worksheet1 = writer.sheets['Feed Position']
integer = workbook1.add_format({'num_format': '0', 'align': 'center'})
worksheet1.set_column('B:HU', 4, integer)
writer.save()
Ich möchte meinen Zeilen Zebrastreifen hinzufügen, aber ich finde anscheinend keine Möglichkeit, Zeilen für Zeilen zu formatieren, ohne meine Spaltenformatierung zu überschreiben. Als Test habe ich ein fett gedrucktes Format erstellt und es auf Zeile 3 angewendet, aber es hat meine Spaltenformatierung überschrieben. Ist es möglich, zeilenweise Formatierungen hinzuzufügen, ohne meine Spalte durch Spaltenformatierungen zu überschreiben? Oder gibt es ein Zebrastreifen-Idiom, das die zeilenweise Formatierung vermeidet?
EDIT: Ich denke, meine Situation wird schwieriger, weil die Daten bereits über eine Pandas-Funktion in Excel geschrieben wurden. Gibt es irgendetwas, das die Formatierung von Zeilen und Spalten erleichtert?