df['some_col1'] = df['some_col1'].apply(lambda x: Decimal(x) if pd.notnull(x) else None)
df['some_col2'] = df['some_col2'].apply(lambda x: Decimal(x) if pd.notnull(x) else None)
output = io.BytesIO()
with pd.ExcelWriter(output, engine='xlsxwriter') as writer:
df.to_excel(writer, index=False, sheet_name='Sheet1')
workbook = writer.book
worksheet = writer.sheets['Sheet1']
# Define number format
number_format = workbook.add_format({'num_format': '0.0000'})
# Apply formatting based on column name
for col_num, col_name in enumerate(df.columns):
if col_name == 'some_col1' or col_name == 'some_col2': # Specify by column name
worksheet.set_column(col_num, col_num, None, number_format)
Это не работает, даже если я укажу столбцы непосредственно в set_column (например, «A:A»)
Столбцы наверняка десятичные. , но они представлены в текстовом формате на листе Excel:
[code]df['some_col1'] = df['some_col1'].apply(lambda x: Decimal(x) if pd.notnull(x) else None) df['some_col2'] = df['some_col2'].apply(lambda x: Decimal(x) if pd.notnull(x) else None) output = io.BytesIO() with pd.ExcelWriter(output, engine='xlsxwriter') as writer: df.to_excel(writer, index=False, sheet_name='Sheet1') workbook = writer.book worksheet = writer.sheets['Sheet1']
# Define number format number_format = workbook.add_format({'num_format': '0.0000'})
# Apply formatting based on column name for col_num, col_name in enumerate(df.columns): if col_name == 'some_col1' or col_name == 'some_col2': # Specify by column name worksheet.set_column(col_num, col_num, None, number_format) [/code] Это не работает, даже если я укажу столбцы непосредственно в set_column (например, «A:A») Столбцы наверняка десятичные. , но они представлены в текстовом формате на листе Excel: [img]https://i.sstatic.net/GP9ds5OQ.png[/img]
Я пытаюсь скопировать данные в data.csv от a1 до t1 и добавить эти данные в mergeddata.xlsx в ячейках от d2 до w2 . С кодом ниже я могу написать данные в конкретных ячейках. import pandas as pd
import numpy as np
import os...
Я пытаюсь скопировать данные в data.csv от a1 до t1 и добавить эти данные в mergeddata.xlsx в ячейках от d2 до w2 . С кодом ниже я могу написать данные в конкретных ячейках. import pandas as pd
import numpy as np
import os...
У меня есть DataFrame, в котором некоторые столбцы используют тип данных Decimal. Я хотел бы экспортировать эти данные в электронную таблицу Excel, сохраняя десятичный/числовой формат. Однако вместо этого мой код преобразует столбцы в текстовые...