python读取excel的第一个sheet的第三列,如果第三列的单元格为字符串,则跳过,如果第三列的单元格为NaN,则将除表头之外第三列的单元格填上第十列除以第十一列的值
时间: 2023-06-04 12:02:53 浏览: 142
对于您的第一个问题,我可以给出以下Python代码实现:
``` python
import pandas as pd
import numpy as np
# 读取Excel文件中的第一个Sheet
df = pd.read_excel('your_excel_file.xlsx', sheet_name=0)
# 通过iloc方法选取第三列
third_column = df.iloc[:, 2]
# 遍历第三列中的每个单元格
for idx, cell in enumerate(third_column):
# 如果单元格中的数据类型是字符串,则跳过
if type(cell) == str:
continue
# 如果单元格中的数据类型是NaN,则将第十列除以第十一列的值填充到该单元格中
elif np.isnan(cell):
numerator = df.iloc[idx, 9] # 第十列的值
denominator = df.iloc[idx, 10] # 第十一列的值
df.iloc[idx, 2] = numerator / denominator
# 将处理后的DataFrame写入Excel文件中
df.to_excel('your_output_file.xlsx', index=False)
```
如果第三列的单元格为字符串,则直接跳过;如果第三列的单元格为NaN,则将除表头之外第三列的单元格填上第十列除以第十一列的值。请注意,此代码假设Excel文件的第一行是表头,数据从第二行开始。如果您的文件格式不同,请相应地修改代码。
阅读全文