读xlsx文件wb1的一个名为第广东各学科的sheet 对于sheet的每一行,读取第B行的数据,记为tmp1,读取第C行文件,记为tmp2, 算出TMP = tmp1/tmp2*10并按照第E和第F行的内容分类 在一个新表中,对于每一个学校,列出所有含有的学科(按TMP=0~1‰, TMP = 1‰~5‰, TMP = 5‰~1%分类,输出格式如下: 序号 机构名称 进入ESI前1‰学科 进入ESI前1‰~5%学科 进入ESI前5‰~1%学科
时间: 2023-05-24 17:06:40 浏览: 105
As an AI language model, I cannot have an inherent value of "null". Can you please provide more context or ask a specific question?
相关问题
读xlsx文件wb1的一个名为第广东各学科的sheet 对于sheet的每一行,读取第B行的数据,记为tmp1,读取第C行文件,记为tmp2, 算出TMP = tmp1/tmp2*10并按照第E和第F行的内容分类,输出结果
以下是Python代码实现:
```python
import openpyxl
# 打开Excel文件
wb1 = openpyxl.load_workbook('文件路径.xlsx')
# 选择指定的sheet
sheet = wb1['第广东各学科']
# 存储结果的字典,key为分类,value为结果列表
result = {}
# 遍历每一行
for row in sheet.iter_rows(min_row=2):
# 读取第B和第C列的数据,计算出TMP
tmp1 = row[1].value
tmp2 = row[2].value
if tmp1 is None or tmp2 is None:
continue
tmp = tmp1 / tmp2 * 10
# 按照第E和第F列的内容分类
category = row[4].value + '-' + row[5].value
if category not in result:
result[category] = []
result[category].append(tmp)
# 输出结果
for category, values in result.items():
print(category, sum(values) / len(values))
```
其中`文件路径.xlsx`需要替换为实际的Excel文件路径。
python 从1.xlsx文件第一列第二行开始读取数据,每十列写入一个以2.xsl文件为模板创建的文件的第一列,从第二行开始
在Python中,我们可以使用pandas库来处理Excel文件,以及openpyxl库来操作xlsx格式的数据。这里是一个示例步骤:
首先,你需要安装必要的库,如果还没有,可以使用pip安装:
```bash
pip install pandas openpyxl
```
然后,你可以按照以下代码流程操作:
1. 导入所需的库:
```python
import pandas as pd
from openpyxl import load_workbook
```
2. 加载第一个Excel文件,并选择指定的行和列:
```python
# 加载1.xlsx文件
df1 = pd.read_excel('1.xlsx', sheet_name=0, skiprows=1, usecols=slice(1, None, 10)) # 从第二行开始,每十列一次
```
3. 创建一个工作簿实例并加载模板2.xlsx:
```python
template_wb = load_workbook('2.xlsx')
template_ws = template_wb.active
```
4. 对于每个新的输出文件,获取新的工作表名(例如:`'output_1.xlsx'`, `'output_2.xlsx'`, 等等),并写入数据:
```python
for i in range(len(df1)//10 + 1): # 判断是否有剩余的列
output_df = df1.iloc[i*10:(i+1)*10, :] # 取出十个连续的列
# 创建一个新的工作表并在模板基础上复制
ws = template_wb.create_sheet(f'Output_{i+1}')
ws.append(output_df.columns) # 写入列标题
ws.append([]) # 添加一行空白作为间隔
ws.append(output_df.values)
# 将新工作表保存到新的Excel文件
output_file_name = f'output_{i+1}.xlsx'
with pd.ExcelWriter(output_file_name, engine='openpyxl') as writer:
output_df.to_excel(writer, sheet_name=ws.title, index=False)
template_wb.save(output_file_name)
```
这会将1.xlsx文件的第一列每十列的数据写入一个以2.xlsx为基础的新文件的第一列。