Как экспортировать Python столбцы данных с числом в виде целых чисел с разделителями-запятыми и иметь возможность их суммировать / делить / умножать? - PullRequest
2 голосов
/ 23 апреля 2020

У меня есть датафрейм с несколькими столбцами с числами. Я хотел бы экспортировать их как целые числа, но с разделителями-запятыми для чисел свыше 999.

Я смог это сделать, но когда они экспортируются, я не могу манипулировать числами, как будто они поворачиваются в строки из-за запятой.

Я попробовал это без удачи:

format_mapping={'Balance': '{:,.0f}'}

for key, value in format_mapping.items():
   cash_tracker_df[key] = cash_tracker_df[key].apply(value.format)

Я прочитал следующее, чтобы узнать, где я нахожусь:

Python Pandas Применение форматирования к каждому столбцу в кадре данных с использованием отображения Dict

https://xlsxwriter.readthedocs.io/tutorial02.html

Я использовал pandas и xlsxwriter.

Любая помощь будет оценена.

1 Ответ

1 голос
/ 23 апреля 2020

При определении формата следует использовать свойство num_format .

import pandas as pd

df = pd.DataFrame({'A': [1,2,3,4,1000,1001,10000,10001]})

writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False)
workbook = writer.book
worksheet = writer.sheets['Sheet1']

cellFormat = workbook.add_format({'num_format': '#,##'})
worksheet.set_column('A:A', 10, cellFormat)

writer.save()

Вывод:

enter image description here

Наконец, если вы хотите использовать десятичный разделитель, вы должны использовать

'num_format': '#, ##. 00'

Для более подробной информации Информация смотрите здесь

...