data2 = pd.read_excel(file2, sheet_name=0, keep_default_na=False) sheet = data['方药'] for k in range(row_num): cell1_data = sheet.iloc[k] # 获取单元格的值 cell1_data = str(cell1_data) cell1_data.value() if cell1_data.value not in data2: print(cell1_data, cell1_data.column, cell1_data.value)
时间: 2024-04-18 18:26:51 浏览: 85
根据您提供的代码片段,我可以看到您正在使用pandas库来读Excel文件并进行一些操作。在这段代码中,您首先使用`pd.read_excel()`函数从文件`file2`中读取数据,并将其存储在名为`data2`的变量中。
接下来,您从名为'方药'的工作表中检索数据,并使用一个循环来遍历每一行。在循环内部,您将每个单元格的值转换为字符串类型,并尝试调用`value()`方法,但是这是不必要的,因为您已经将其转换为字符串。
然后,您使用条件语句检查`cell1_data.value`是否存在于`data2`中。如果不存在,您打印出`cell1_data`、`cell1_data.column`和`cell1_data.value`的值。
请注意,代码中的`cell1_data.value()`是无效的,因为您已经将其转换为字符串类型,所以应该只使用`cell1_data.value`来进行比较。
如果您有任何其他问题,请随时提问!
相关问题
data2 = pd.read_excel(file2, sheet_name=0, keep_default_na=False) sheet = data['方药'] for k in range(row_num): cell1_data = sheet.iloc[k] # 获取单元格的值 cell1_data = str(cell1_data) if cell1_data.value not in data2: print(cell1_data, cell1_data.column, cell1_data.value)
抱歉,我之前的回答有一个错误。在您代码中,您将`cell1_data`转换为字符串类型,并尝试使用`cell1_data.value`进行比较。但是,`cell1_data`是一个字符串对象,而不是一个单元格对象,因此没有`value`属性。
根据您的代码,您可以直接在条件语句中使用`cell1_data`进行比较,而不需要使用`value`。下面是修正后的代码:
```python
data2 = pd.read_excel(file2, sheet_name=0, keep_default_na=False)
sheet = data['方药']
for k in range(row_num):
cell1_data = sheet.iloc[k] # 获取单元格的值
cell1_data = str(cell1_data)
if cell1_data not in data2:
print(cell1_data, cell1_data.column, cell1_data)
```
现在,条件语句将检查`cell1_data`是否存在于`data2`中。如果不存在,将打印出`cell1_data`、`cell1_data.column`和`cell1_data`的值。
如果您有任何其他问题,请随时提问!
result = [] for s_li in data.columns: ## 打印列名 print(s_li) if '方药' in str(s_li) : result.append(data[s_li]) print(result) #pd.DataFrame(result).to_excel(r'F:\python_project\result.xls') # 保存的路径 data2 = pd.read_excel(file2, sheet_name=0, keep_default_na=False) sheet = data['方药'] for k in range(row_num): cell1_data = sheet.iloc[k] # 获取单元格的值 cell1_data = str(cell1_data) if cell1_data not in data2: print( k, cell1_data)
根据您提供的代码,我可以看到您正在处理`data`中的列和`data2`之间的比较。首先,您使用一个循环来遍历`data`的列名,并打印每个列名。然后,如果列名中包含字符串'方药',您将该列的数据添加到`result`列表中。
接下来,您使用`pd.read_excel()`函数从`file2`中读取数据,并将其存储在`data2`变量中。然后,您从名为'方药'的工作表中检索数据,并使用一个循环来遍历每一行。在循环内部,您获取每个单元格的值,并将其转换为字符串类型。然后,您检查该值是否不存在于`data2`中,如果是,则打印出行号和单元格的值。
最后注释掉了保存结果到Excel文件的代码行,如果您想要保存结果到Excel文件,只需取消注释即可。
请记住,根据您的具体需求,您可能需要进一步处理或调整代码。
如果您有任何其他问题,请随时提问!
阅读全文