如果一个Excel表格里存储了两个单元楼184户人家冬季按每小时记录一次的供暖温度,住户编号从1到184,如何利用Python将两个单元楼的数据分别提取存入新的表格?每单元楼有92户人家
时间: 2024-02-16 08:04:46 浏览: 135
Python编写的图像内表格数据提取工具,可以高效识别PDF原件、扫描件、复印件、照片、截图内的数据表格,转为Excel文件输出
可以使用Python中的pandas库和numpy库来实现。
首先,需要读取原始Excel表格数据,可以使用pandas的read_excel方法:
```python
import pandas as pd
df = pd.read_excel('原始表格.xlsx')
```
读取后的数据存储在DataFrame对象df中。
接下来,可以根据要求将df中的数据进行分组,以实现分别提取两个单元楼的数据。可以使用pandas的groupby方法:
```python
groups = df.groupby('单元楼编号')
```
其中,'单元楼编号'是原始表格中存储单元楼编号的列名,可以根据实际情况进行修改。
然后,可以通过遍历groups对象,将分组后的数据存储到新的Excel表格中。可以使用pandas的ExcelWriter方法:
```python
import numpy as np
writer = pd.ExcelWriter('新表格.xlsx')
for name, group in groups:
# 获取单元楼编号
number = int(name)
# 每单元楼有92户人家
for i in range(1, 93):
# 获取住户编号
resident_number = (number - 1) * 92 + i
# 获取对应的数据
data = group[group['住户编号'] == resident_number]
# 将数据存储到新表格中
sheet_name = str(number) + '-' + str(i)
data.to_excel(writer, sheet_name=sheet_name, index=False)
writer.save()
```
其中,name表示分组的名称,也就是单元楼编号;group表示对应的数据,可以通过to_excel方法将其存储到新的Excel表格中。
完整代码示例:
```python
import pandas as pd
import numpy as np
# 读取原始Excel表格
df = pd.read_excel('原始表格.xlsx')
# 分组
groups = df.groupby('单元楼编号')
# 存储到新的Excel表格中
writer = pd.ExcelWriter('新表格.xlsx')
for name, group in groups:
# 获取单元楼编号
number = int(name)
# 每单元楼有92户人家
for i in range(1, 93):
# 获取住户编号
resident_number = (number - 1) * 92 + i
# 获取对应的数据
data = group[group['住户编号'] == resident_number]
# 将数据存储到新表格中
sheet_name = str(number) + '-' + str(i)
data.to_excel(writer, sheet_name=sheet_name, index=False)
writer.save()
```
注意,上述代码中的文件名需要根据实际情况进行修改。
阅读全文