import numpy as np # 循环遍历每一个单元格 for row in ws.iter_rows(): for cell in row: # 判断单元格是否包含% if '%' in str(cell.value): # 将单元格格式设置为数字格式 cell.number_format = '0.00%' # 将单元格值除以100并重新赋值给单元格 cell.value = float(cell.value.strip('%')) / 100 以上代码执行后报错信息:AttributeError: module 'numpy' has no attribute 'float'. `np.float` was a deprecated alias for the builtin `float`. To avoid this error in existing code, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.,麻烦修正报错并输出代码

时间: 2023-12-06 20:41:03 浏览: 39
import openpyxl # 打开 Excel 文件 wb = openpyxl.load_workbook('example.xlsx') # 选择第一个工作表 ws = wb.active # 循环遍历每一个单元格 for row in ws.iter_rows(): for cell in row: # 判断单元格是否包含% if '%' in str(cell.value): # 将单元格格式设置为数字格式 cell.number_format = '0.00%' # 将单元格值除以100并重新赋值给单元格 cell.value = float(cell.value.strip('%')) / 100 wb.save('example.xlsx')
相关问题

# 循环遍历每一个单元格 for row in ws.iter_rows(): for cell in row: # 判断单元格是否包含% if '%' in str(cell.value): # 将单元格格式设置为数字格式 cell.number_format = '0.00%' # 将单元格值除以100并重新赋值给单元格 cell.value = float(cell.value.strip('%')) / 100 以上报错信息:module numpy has no attribute float ,麻烦修正报错并输出代码

这个错误可能是因为您在代码中使用了 `numpy.float`,而不是 Python 内置的 `float`。以下是修改后的代码: ```python for row in ws.iter_rows(): for cell in row: if '%' in str(cell.value): # 将单元格格式设置为数字格式 cell.number_format = '0.00%' # 将单元格值除以100并重新赋值给单元格 cell.value = float(cell.value.strip('%')) / 100.0 ``` 注意最后一行中 `100.0` 后面的小数点,这是为了确保除法操作为浮点数除法。

#!/bin/env python import numpy as np import pandas as pd import openpyxl,os df_csv = pd.read_csv(r'Permance_a.csv',index_col=0,encoding='utf-8') df_csv.to_excel(r'Permance_a.xlsx') # 打开Excel文件 wb = openpyxl.load_workbook('Permance_a.xlsx') # 选择第一个工作表 ws = wb.active # 循环遍历每一个单元格 for row in ws.iter_rows(): for cell in row: # 判断单元格是否包含% if '%' in str(cell.value): # 将单元格格式设置为数字格式 cell.number_format = '0.00%' # 将单元格值除以100并重新赋值给单元格 cell.value = float(cell.value.strip('%')) / 100 # 保存Excel文件 wb.save('Permance_a.xlsx') # 源表格和目标表格的文件名 source_file = r'Permance_a.xlsx' target_file = r'Permance.xlsx' source_end_col = 8 # 结束列 source_start_col = 5 # 开始列 source_start_row = [2,12,22,32] source_end_row = [11,21,31,41] target_end_col = 6 # 结束列 target_start_col = 3 # 开始列 target_start_row = [7,35,21,49] target_end_row = [16,44,30,58] # 打开两个工作簿 wb1 = openpyxl.load_workbook(source_file) ws1 = wb1.active target_ws_name = 'sd' + source_file[-6] wb2 = openpyxl.load_workbook(target_file) wb2.active.title = target_ws_name ws2 = wb2.active # 将源表格的数据覆盖到目标表格中 for i in range(len(source_start_row)): for row in range(source_start_row[i], source_end_row[i]+1): for col in range(source_start_col, source_end_col+1): value = ws1.cell(row=row, column=col).value ws2.cell(row=target_start_row[i]+row-source_start_row[i], column=target_start_col+col-source_start_col, value=value) # 保存目标表格 wb2.save(target_file) 修改以上代码,将目标文件中数据引用源中工作明修改为target_ws_name

修改后的代码如下: ``` #!/bin/env python import numpy as np import pandas as pd import openpyxl,os df_csv = pd.read_csv(r'Permance_a.csv',index_col=0,encoding='utf-8') df_csv.to_excel(r'Permance_a.xlsx') # 打开Excel文件 wb = openpyxl.load_workbook('Permance_a.xlsx') # 选择第一个工作表 ws = wb.active # 循环遍历每一个单元格 for row in ws.iter_rows(): for cell in row: # 判断单元格是否包含% if '%' in str(cell.value): # 将单元格格式设置为数字格式 cell.number_format = '0.00%' # 将单元格值除以100并重新赋值给单元格 cell.value = float(cell.value.strip('%')) / 100 # 保存Excel文件 wb.save('Permance_a.xlsx') # 源表格和目标表格的文件名 source_file = r'Permance_a.xlsx' target_file = r'Permance.xlsx' source_end_col = 8 # 结束列 source_start_col = 5 # 开始列 source_start_row = [2,12,22,32] source_end_row = [11,21,31,41] target_end_col = 6 # 结束列 target_start_col = 3 # 开始列 target_start_row = [7,35,21,49] target_end_row = [16,44,30,58] # 打开两个工作簿 wb1 = openpyxl.load_workbook(source_file) ws1 = wb1.active # 修改目标工作表名 target_ws_name = 'sd' + source_file[-6] wb2 = openpyxl.load_workbook(target_file) wb2[target_ws_name].title = target_ws_name ws2 = wb2[target_ws_name] # 将源表格的数据覆盖到目标表格中 for i in range(len(source_start_row)): for row in range(source_start_row[i], source_end_row[i]+1): for col in range(source_start_col, source_end_col+1): value = ws1.cell(row=row, column=col).value ws2.cell(row=target_start_row[i]+row-source_start_row[i], column=target_start_col+col-source_start_col, value=value) # 保存目标表格 wb2.save(target_file) ```

相关推荐

import pandas as pd import openpyxl # import matplotlib.pyplot as plt import numpy as np from sklearn.ensemble import AdaBoostClassifier from sklearn.model_selection import train_test_split # 打开Excel文件 wb = openpyxl.load_workbook('./处理过的训练集/987027.xlsx') # 选择需要读取的工作表 ws = wb['Sheet1'] # 读取第一列第二行之后的数据 data = [] for row in ws.iter_rows(min_row=2, min_col=1, values_only=True): data.append(row[0]) # 打印读取的数据 # print(data) # # 将浮点型数据按照等宽离散化的方法转化为离散型数据 # bin_edges = np.linspace(min(data), max(data), num=10) # discretized_data = np.digitize(data, bin_edges) # # 打印转化后的数据 # print(discretized_data) # 假设数据共有N个点,采样周期为0.25秒 N = len(data) t = np.arange(N) * 0.25 # labels2 = pd.cut(t, bins=10, labels=False) #组合时间序列和采样值 data1 = np.column_stack((t,data)) print(data1[:10]) # 打印前10行数据 # train_test_split函数用于将数据集划分为训练集和测试集,其中test_size参数指定了测试集所占的比例, # random_state参数指定了随机种子,以保证每次划分的结果相同。 X_train, X_test, y_train, y_test = train_test_split(data1[:, :-1], data1[:, -1], test_size=0.2, random_state=42) clf = AdaBoostClassifier(n_estimators=100, random_state=0) clf.fit(X_train, y_train) clf.predict([[0,0,0,0]]) clf.score(X_train, y_train)报错ValueError: X has 2 features, but AdaBoostClassifier is expecting 1 features as input.

最新推荐

recommend-type

Python Numpy:找到list中的np.nan值方法

今天小编就为大家分享一篇Python Numpy:找到list中的np.nan值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

python for循环,列表推导、numpy三者的运算速度对比

不要过得使用for,for循环计算效率很低,一般情况下,列表推导的计算速度介于两者之间。 这里我将三者做一个对比,所做的案例就是将矩阵上的每个元素, 在原来数值的基础上都加上1。这是一个简单的操作,对比一下...
recommend-type

numpy:np.newaxis 实现将行向量转换成列向量

今天小编就为大家分享一篇numpy:np.newaxis 实现将行向量转换成列向量,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

python基础教程:Python 中pandas.read_excel详细介绍

import numpy as np filefullpath = r"/home/geeklee/temp/all_gov_file/pol_gov_mon/downloads/1.xls" #filefullpath = r"/home/geeklee/temp/all_gov_file/pol_gov_mon/downloads/26368f3a-ea0
recommend-type

新建文本文档.txt

新建文本文档
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

HSV转为RGB的计算公式

HSV (Hue, Saturation, Value) 和 RGB (Red, Green, Blue) 是两种表示颜色的方式。下面是将 HSV 转换为 RGB 的计算公式: 1. 将 HSV 中的 S 和 V 值除以 100,得到范围在 0~1 之间的值。 2. 计算色相 H 在 RGB 中的值。如果 H 的范围在 0~60 或者 300~360 之间,则 R = V,G = (H/60)×V,B = 0。如果 H 的范围在 60~120 之间,则 R = ((120-H)/60)×V,G = V,B = 0。如果 H 的范围在 120~180 之间,则 R = 0,G = V,B =
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。