xlsxwriter - определение формата столбца на основе имени столбца - PullRequest
0 голосов
/ 22 ноября 2018

Как определить форму для столбца на основе имени столбца в xlsxwriter.

Например, когда имя столбца равно Sale_Date Я хотел бы определить date_format , тогда как еслиимя столбца count_of_sales Я хотел бы использовать number_format

Я знаю, как определить формат для конкретного столбца, но я не уверен, как определить его на основена имя столбца, как показано ниже.

date_format = workbook.add_format({'num_format': 'dd/mm/yyyy hh:mm:ss', 'font_size': 14})
worksheet1.write('A1', 'Sale_Date', date_format) 

Может кто-нибудь совет.Спасибо ..

Обновление:

# create an output stream
output = BytesIO()
writer = pd.ExcelWriter(output, engine='xlsxwriter')

# Create the workbook
workbook = writer.book
# Create and name the sheets
worksheet = workbook.add_worksheet('Cover Sheet')
worksheet1 = workbook.add_worksheet('Sample Data')

# Number formatting
number_format = workbook.add_format({'num_format': '####', 'font_size': 14})
date_format = workbook.add_format({'num_format': 'dd/mm/yyyy hh:mm:ss', 'font_size': 14})

for col in field_names:
    worksheet1.write('A1', col, date_format if 'created_at' in col else number_format)

# Defining Cover sheet format
worksheet.set_column('A:BZ', None, color_format)

# # header column
row = 0
col = 0

for data in title:
    worksheet1.write(row, col, data, number_format)
    col += 1

#Pulling monthly data for columns for weekly raw data sheet
current_row = 1

for values in output_file:
    for idx, value in enumerate(values):
        worksheet1.write(current_row, idx, value, number_format)
    current_row += 1

# the writer has done its job
writer.close()

# go back to the beginning of the stream
output.seek(0)

# finally return the file
return output

Пример списка столбцов:

name, age,class,join_date,date_of_birth,filing_date
...