用python的pandas编写程序,列出完整程序。 读取某个excel表格的第0至20列。 如果第3至20列都有数字,第2列输入“数据完整”; 如果第3到20列都为空,第2列输入“无肝脾数据”; 否则: 如果第12至20列都为空,第2列输入“未见脾”; 如果第12至20列不全有数字,第3至11列都有数字,第2列输入“脾图像不足3层或图像偏小”; 如果第12至20列不全有数字,第3至11列不全有数字,第2列输入“肝脾数据不全” 将内容保存至该excel表格
时间: 2023-03-15 12:28:51 浏览: 92
import pandas as pd
# 读取 Excel 表格
df = pd.read_excel("test.xlsx", usecols = range(0,20))
# 如果第3至20列都有数字
if (df.iloc[:,2:].notnull().all().all()):
df.iloc[:,1] = "数据完整"
# 如果第3到20列都为空
elif (df.iloc[:,2:].isnull().all().all()):
df.iloc[:,1] = "无肝脾数据"
# 如果第12至20列都为空
elif (df.iloc[:,11:].isnull().all().all()):
df.iloc[:,1] = "未见脾"
# 如果第12至20列不全有数字,第3至11列都有数字
elif (df.iloc[:,11:].notnull().any().all() and df.iloc[:,2:11].notnull().all().all()):
df.iloc[:,1] = "脾图像不足3层或图像偏小"
# 如果第12至20列不全有数字,第3至11列不全有数字
else:
df.iloc[:,1] = "肝脾数据不全"
# 将内容保存至excel表格
df.to_excel("test.xlsx")
相关问题
用python的pandas编写程序,列出完整程序。 读取某个excel表格的第0至20列,对于每一行, 如果第3至20列都有数字,第2列输入“数据完整”; 如果第3到20列都为空,第2列输入“无肝脾数据”; 否则: 如果第12至20列都为空,第2列输入“未见脾”; 如果第12至20列不全有数字,第3至11列都有数字,第2列输入“脾图像不足3层或图像偏小”; 如果第12至20列不全有数字,第3至11列不全有数字,第2列输入“肝脾数据不全” 将内容保存至该excel表格
import pandas as pd# 读取excel表格
df = pd.read_excel('xxx.xlsx', usecols=range(0,20))for index, row in df.iterrows():
# 第3到20列都有数字
if (row[3:20] == row[3:20].dropna()).all():
df.loc[index, '第2列'] = '数据完整'
# 第3到20列都为空
elif (row[3:20].isnull()).all():
df.loc[index, '第2列'] = '无肝脾数据'
# 第12至20列都为空
elif (row[12:20].isnull()).all():
df.loc[index, '第2列'] = '未见脾'
# 第12至20列不全有数字,第3至11列都有数字
elif (row[12:20].isnull()).any() and (row[3:11] == row[3:11].dropna()).all():
df.loc[index, '第2列'] = '脾图像不足3层或图像偏小'
# 第12至20列不全有数字,第3至11列不全有数字
elif (row[12:20].isnull()).any() and (row[3:11].isnull()).any():
df.loc[index, '第2列'] = '肝脾数据不全'# 将内容保存至该excel表格
df.to_excel('xxx.xlsx', index=False)
用python编写程序,列出完整程序。 读取某个excel表格的第0至21列,对于每一行, 如果第3至21列都有数字,第2列输入“数据完整”; 如果第3到21列都为空,第2列输入“无肝脾数据”; 否则: 如果第12至21列都为空,第2列输入“未见脾”; 如果第12至21列不全为空,第3至12列都有数字,第2列输入“脾图像不足3层或图像偏小”; 如果第12至21列不全为空,第3至12列不全为空,第2列输入“肝脾数据不全” 将内容保存至该excel表格
以下是使用Python编写的完整程序:
```
import pandas as pd# 读取Excel表格
df = pd.read_excel(r'你的文件路径')# 检查第3列到第21列是否有数字
for i in range(df.shape[0]):
count = 0
for j in range(3,22):
if df.iloc[i,j] != 0:
count += 1
if count == 19:
df.iloc[i,2] = '数据完整'
elif count == 0:
df.iloc[i,2] = '无肝脾数据'
else:
count2 = 0
for j in range(12,22):
if df.iloc[i,j] != 0:
count2 += 1
if count2 == 0:
df.iloc[i,2] = '未见脾'
elif count2 == count:
df.iloc[i,2] = '脾图像不足3层或图像偏小'
else:
df.iloc[i,2] = '肝脾数据不全'# 保存表格
df.to_excel(r'你的文件路径', index=False)
```
阅读全文