用python编写程序,使用pandas,列出完整程序 1.读取某个excel表格的第0至20列, 2.判断3到20列数据情况。如果3到20列都没有数据,第2列输入“无肝脾数据”;如果3到20列有数据,第6、7、8、12、13、14、18、19、20列都没有数据,第2列输入“未见脾”;如果3到20列有数据,6、7、8、12、13、14、18、19、20不全有数据,第2列输入“图像不足3层或图像偏小”;如果3到20列有数据,第3、4、5、9、10、11、15、16、17列数据不全,第2列输入“脾图像不足3层或图像偏小,肝数据不全”
时间: 2023-03-13 09:19:24 浏览: 25
答:import pandas as pd
# 读取excel表格
df = pd.read_excel(filename, usecols=range(20))
# 判断3到20列数据情况
if df[3:20].isnull().all().all():
df.loc[2,'列名'] = '无肝脾数据'
elif df[[6,7,8,12,13,14,18,19,20]].isnull().all().all():
df.loc[2,'列名'] = '未见脾'
elif df[[3,4,5,9,10,11,15,16,17]].isnull().all().all():
df.loc[2,'列名'] = '图像不足3层或图像偏小'
else:
df.loc[2,'列名'] = '脾图像不足3层或图像偏小,肝数据不全'
相关问题
用python编写程序,使用pandas,列出完整程序 1.读取某个excel表格的第0至20列, 2.判断3到20列数据情况。如果3到20列都没有数据,第2列输入“无肝脾数据”; 3.如果3到20列有数据,第6、7、8、12、13、14、18、19、20列都没有数据,第2列输入“未见脾”; 4.如果3到20列有数据,6、7、8、12、13、14、18、19、20不全有数据,第2列输入“图像不足3层或图像偏小”; 5.如果3到20列有数据,第3、4、5、9、10、11、15、16、17列数据不全,第2列输入“脾图像不足3层或图像偏小,肝数据不全”
import pandas as pd # 读取excel表格
df = pd.read_excel('excel表格名.xlsx',usecols=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])# 判断3到20列数据情况
if df.iloc[:,3:20].isnull().all().all(): # 如果3到20列都没有数据
df.iloc[:,1]="无肝脾数据"
elif df.iloc[:,6:21].isnull().all().all(): # 如果3到20列有数据,第6、7、8、12、13、14、18、19、20列都没有数据
df.iloc[:,1]="未见脾"
elif df.iloc[:,3:20].isnull().any().any(): # 如果3到20列有数据,6、7、8、12、13、14、18、19、20不全有数据
df.iloc[:,1]="图像不足3层或图像偏小"
elif df.iloc[:,3:9].isnull().any().any() or df.iloc[:,10:17].isnull().any().any(): # 如果3到20列有数据,第3、4、5、9、10、11、15、16、17列数据不全
df.iloc[:,1]="脾图像不足3层或图像偏小,肝数据不全"# 输出完整程序
print("完整程序:\n")
print("import pandas as pd \n")
print("# 读取excel表格\ndf = pd.read_excel('excel表格名.xlsx',usecols=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])\n")
print("# 判断3到20列数据情况\nif df.iloc[:,3:20].isnull().all().all(): # 如果3到20列都没有数据\n df.iloc[:,1]=\"无肝脾数据\"\nelif df.iloc[:,6:21].isnull().all().all(): # 如果3到20列有数据,第6、7、8、12、13、14、18、19、20列都没有数据\n df.iloc[:,1]=\"未见脾\"\nelif df.iloc[:,3:20].isnull().any().any(): # 如果3到20列有数据,6、7、8、12、13、14、18、19、20不全有数据\n df.iloc[:,1]=\"图像不足3层或图像偏小\"\nelif df.iloc[:,3:9].isnull().any().any() or df.iloc[:,10:17].isnull().any().any(): # 如果3到20列有数据,第3、4、5、9、10、11、15、16、17列数据不全\n df.iloc[:,1]=\"脾图像不足3层或图像偏小,肝数据不全\"")
用python编写程序,列出完整程序,读取某个excel表格的第0至20列,将第2至19列格式由“以文本形式存储的数字”转换为数字
### 回答1:
# -*- coding: utf-8 -*-
import xlrd # 导入 xlrd 模块# 打开Excel文件
excel_file = xlrd.open_workbook('<文件路径和文件名>.xlsx')# 读取指定sheet表
sheet = excel_file.sheet_by_name('<表名>')# 读取指定列
for i in range(0,20):
if i >= 2 and i <= 19:
cell_value = sheet.cell(0, i).value # 读取第0行第i列,将文本形式的数字转换为数字
cell_num = float(cell_value)
print(cell_num)
else:
cell_value = sheet.cell(0, i).value # 读取第0行第i列
print(cell_value)
### 回答2:
你好!以下是使用Python编写的程序来实现读取某个Excel表格的第0至20列,并将第2至19列的格式从“以文本形式存储的数字”转换为数字的完整程序:
首先,我们需要安装`pandas`库来处理Excel表格。你可以使用以下命令来安装它:
```python
pip install pandas
```
接下来,我们可以使用以下代码来读取Excel表格中的数据并进行格式转换:
```python
import pandas as pd
# 读取Excel表格数据
data = pd.read_excel('your_excel_file.xlsx', usecols='A:T')
# 遍历需要转换的列
for column in data.columns[2:20]:
# 将“以文本形式存储的数字”转换为数字
data[column] = pd.to_numeric(data[column], errors='coerce')
# 打印转换后的数据
print(data)
```
在上述代码中,`your_excel_file.xlsx`是你要读取的Excel文件名。`usecols='A:T'`指定我们需要读取的列范围,即第0至20列。`data[column] = pd.to_numeric(data[column], errors='coerce')`将第2至19列的数据从“以文本形式存储的数字”转换为数字。`errors='coerce'`参数将无法转换为数字的数据转换为`NaN`。
最后,我们使用`print(data)`来打印转换后的数据。
你可以根据自己的实际需求修改文件名以及列范围。希望对你有帮助!
### 回答3:
可以使用Python中的pandas库来读取和处理Excel表格。具体的步骤如下:
```python
import pandas as pd
# 读取excel文件
df = pd.read_excel("your_file.xlsx", usecols=list(range(0, 21))) # 读取第0至20列
# 遍历2至19列,并将数据格式转换为数字
for i in range(2, 20):
df.iloc[:, i] = pd.to_numeric(df.iloc[:, i], errors='coerce') # 将文本形式存储的数字转换为数字
# 打印处理后的数据
print(df.head())
```
在上述代码中,首先导入pandas库,然后使用`read_excel`函数读取Excel文件。其中的`usecols`参数指定要读取的列范围,你可以根据需要来设置。
然后,我们使用一个for循环遍历第2至19列,并通过`pd.to_numeric`函数将其转换为数值类型,其中的`errors='coerce'`表示将非数字的值转换为NaN。
最后,我们使用`head`函数打印处理后的前几行数据,以检查转换是否成功。
注意:在运行代码之前,你需要确保已安装好了pandas库,可以使用`pip install pandas`命令来安装。并将代码中的"your_file.xlsx"替换为你自己的Excel文件名。
阅读全文