利用openpyxl将单元格设置为数值千位分隔符、0位小数
时间: 2024-05-10 16:14:56 浏览: 6
可以使用openpyxl中的NumberFormat类来设置单元格的格式。
首先,导入openpyxl模块:
```python
import openpyxl
from openpyxl.styles import numbers
```
然后,打开要操作的Excel文件并选择要操作的工作表:
```python
wb = openpyxl.load_workbook('example.xlsx')
sheet = wb['Sheet1']
```
接着,定义一个格式对象:
```python
format = '#,##0'
```
其中,'#'表示该位置可以是数字或者空格,逗号表示千位分隔符,'0'表示该位置必须为数字,不能是空格。
然后,将格式对象应用于单元格:
```python
for row in sheet.iter_rows(min_row=2, min_col=2, max_row=sheet.max_row, max_col=sheet.max_column):
for cell in row:
cell.number_format = numbers.FORMAT_NUMBER_COMMA_SEPARATED1
cell.value = float(cell.value)
```
其中,`numbers.FORMAT_NUMBER_COMMA_SEPARATED1`表示使用逗号作为千位分隔符,`.value`表示将单元格的值转换为浮点数。
最后,保存Excel文件:
```python
wb.save('example.xlsx')
```
完整代码如下所示:
```python
import openpyxl
from openpyxl.styles import numbers
wb = openpyxl.load_workbook('example.xlsx')
sheet = wb['Sheet1']
format = '#,##0'
for row in sheet.iter_rows(min_row=2, min_col=2, max_row=sheet.max_row, max_col=sheet.max_column):
for cell in row:
cell.number_format = numbers.FORMAT_NUMBER_COMMA_SEPARATED1
cell.value = float(cell.value)
wb.save('example.xlsx')
```