鱼C论坛

 找回密码
 立即注册
查看: 2515|回复: 11

python 计算Excel数字变为百分比格式后,Excel打开后为文本格式了,如何改为数字格式

[复制链接]
发表于 2023-5-23 17:29:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
百分比
43.75%
25.00%
43.75%
25.00%

Excel计算完得出的百分比格式,在Excel中看是文本格式,如何变为数字格式?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-23 17:30:05 | 显示全部楼层
本帖最后由 歌者文明清理员 于 2023-5-23 17:34 编辑

在Python中,可以使用openpyxl库来打开Excel文件并对单元格格式进行修改。
具体操作步骤如下:
1.使用openpyxl库打开Excel文件并获取到需要修改的工作表对象。
python
Copy Code
import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('your_excel_file.xlsx')

# 获取需要修改的工作表对象
worksheet = workbook['your_worksheet_name']
2.遍历需要修改的单元格,将百分比格式的文本转换为浮点数,并设置单元格格式为数字。
python
Copy Code
from openpyxl.styles import numbers

# 遍历需要修改的单元格
for row in worksheet.iter_rows():
    for cell in row:
        # 如果单元格内容是百分比格式的文本,则转换为浮点数并设置数字格式
        if cell.number_format == '0.00%':
            cell.value = float(cell.value[:-1]) / 100
            cell.number_format = numbers.FORMAT_NUMBER_00
3.保存修改后的Excel文件。
python
Copy Code
# 保存修改后的Excel文件
workbook.save('your_modified_excel_file.xlsx')
通过以上步骤,可以将Excel中百分比格式的文本转换为数字格式。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-23 17:30:48 | 显示全部楼层
在Python中使用pandas库可以方便地操作Excel文件。如果Excel中的百分比被误识别为文本,可以通过下述步骤进行处理。

以下面的内容为例:

百分比
43.75%
25.00%
43.75%
25.00%

以下是将文本格式的百分比转化为数字格式的代码:
import pandas as pd

# 读取excel文件
df = pd.read_excel('文件路径.xlsx')

# 转换百分比列为数字格式,先移除'%',然后转换为float类型,最后除以100
df['百分比'] = df['百分比'].str.rstrip('%').astype('float') / 100.0

# 再次写入excel文件
df.to_excel('文件路径.xlsx', index=False)

这段代码将会读取Excel文件,将'百分比'列的数据从文本格式转换为数字格式,然后再将转换后的数据重新写入到Excel文件中。注意将'文件路径.xlsx'替换为你的实际文件路径。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-23 17:34:18 | 显示全部楼层
isdkz 发表于 2023-5-23 17:30
在Python中使用pandas库可以方便地操作Excel文件。如果Excel中的百分比被误识别为文本,可以通过下述步骤进 ...


这个gpt,发了帖子都不跟我说一声 (我的)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-23 17:39:53 | 显示全部楼层
isdkz 发表于 2023-5-23 17:30
在Python中使用pandas库可以方便地操作Excel文件。如果Excel中的百分比被误识别为文本,可以通过下述步骤进 ...

我就是从浮点数改为百分比的,最后要显示百分比的效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-23 17:42:20 | 显示全部楼层
如果你希望在Excel中显示为百分比形式,那么你可以在Excel中通过设置单元格格式来达到这个效果,因为Python写入Excel的数据只能是数字、文本、日期等基本格式,无法直接设置为百分比格式。

在Python端,你可以将数据转换为百分比形式的文本,但是在Excel中,这些仍然会被视为文本而非百分比格式。为了在Excel中将其显示为百分比,你需要在Excel中手动改变单元格的格式。

以下是在Python中将浮点数转换为百分比形式的代码:
import pandas as pd

# 假设你的数据在dataframe df的'百分比'列
df['百分比'] = df['百分比'].apply(lambda x: '{:.2%}'.format(x))

# 再次写入excel文件
df.to_excel('文件路径.xlsx', index=False)

但是需要注意,当你打开Excel文件时,'百分比'列依然会是文本格式,你需要手动将其转换为百分比格式。以下是在Excel中将文本转换为百分比的步骤:

1. 打开Excel文件
2. 选中包含百分比的列
3. 右键点击,然后选择“格式化单元格”
4. 在弹出的窗口中,选择“百分比”
5. 点击“确定”

现在,你的文本格式的百分比应该已经被转换为了百分比格式。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-23 17:44:57 | 显示全部楼层
isdkz 发表于 2023-5-23 17:42
如果你希望在Excel中显示为百分比形式,那么你可以在Excel中通过设置单元格格式来达到这个效果,因为Python ...

好的 了解了,既然没有这种功能,我就不纠结了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-23 17:47:35 | 显示全部楼层
冰菲 发表于 2023-5-23 17:44
好的 了解了,既然没有这种功能,我就不纠结了,谢谢

理一下我吧,我最先回复的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-23 17:58:58 | 显示全部楼层
歌者文明清理员 发表于 2023-5-23 17:47
理一下我吧,我最先回复的

你的写的也挺好的,很详细,就是不是我想的结果,我原来就是浮点数,后改为百分比的,现在想要百分比显示数字格式,现在知道了 ,是不可能的了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-23 18:00:27 | 显示全部楼层
冰菲 发表于 2023-5-23 17:58
你的写的也挺好的,很详细,就是不是我想的结果,我原来就是浮点数,后改为百分比的,现在想要百分比显示 ...

好吧,确实不行
抱歉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-25 05:58:45 From FishC Mobile | 显示全部楼层
歌者文明清理员 发表于 2023-5-23 17:30
在Python中,可以使用openpyxl库来打开Excel文件并对单元格格式进行修改。
具体操作步骤如下:
1.使用ope ...

《Python》
《copy code》
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-25 16:43:11 | 显示全部楼层
liuhongrun2022 发表于 2023-5-25 05:58
《Python》
《copy code》

目前这个问题还在解决中……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 12:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表