编写python程序,使用iloc或者loc,提取excel表格(文件名:test1)中第5行、第7行、第8行中第6至第21列的数据,并计算第5行加第6行的和、再乘第8行对应单元格的值,将这些值填入文件名为test2的excel表的第3行中
时间: 2024-06-11 08:07:04 浏览: 10
以下是一个可能的解法:
```python
import pandas as pd
# 读取test1表格
df1 = pd.read_excel('test1.xlsx')
# 提取指定行和列的数据
data5 = df1.loc[4, 'F':'U'].values
data7 = df1.loc[6, 'F':'U'].values
data8 = df1.loc[7, 'F':'U'].values
# 计算和并乘以相应的单元格值
sum56 = data5 + data7
mult8 = df1.loc[7, 'F':'U'].values
result = sum56 * mult8
# 读取test2表格
df2 = pd.read_excel('test2.xlsx')
# 将结果填入指定位置
df2.iloc[2, 5:20] = result
# 保存修改后的test2表格
df2.to_excel('test2.xlsx', index=False)
```
需要注意的几点:
- `loc`和`iloc`都是用来提取DataFrame中指定行和列的数据的方法,其中`loc`是按照行和列的标签来提取,而`iloc`则是按照行和列的位置来提取;
- `values`属性用来获取DataFrame中的数据,返回的是一个numpy数组;
- 在计算两个数组的和时,需要保证它们的形状相同,否则会报错;
- 在填入结果时,需要指定行和列的位置,其中行的位置是整数,列的位置是列标签或列的位置(使用整数);在本题中,由于要填入第3行,所以行的位置是2。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)