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)
时间: 2024-04-16 07:26:46 浏览: 170
抱歉,我之前的回答有一个错误。在您代码中,您将`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文件,只需取消注释即可。
请记住,根据您的具体需求,您可能需要进一步处理或调整代码。
如果您有任何其他问题,请随时提问!
pd.read_excel的参数
pandas库中的pd.read_excel()函数的参数如下:
- `io`:文件路径(字符串)或文件类型对象(如:file-like object)。必选参数。
- `sheet_name`:要读取的工作表名称或索引,可以是字符串、整数或列表。默认读取第一个工作表。
- `header`:指定表头的行数。默认是0,表示表头在第一行。
- `names`:用于替换表头的列表,必须与数据的列数相同。如果指定了header=None,则必须使用names参数指定列名。
- `index_col`:用作行索引的列编号或列名。可以是单个整数或字符串,也可以是列表或者范围(例如:“0,1,2”或“A:E”)。
- `usecols`:要读取的列,可以是列名或列索引。例如,使用“A:E”表示读取所有列。
- `dtype`:指定每列的数据类型,可以是字典或numpy.dtype对象。
- `parse_dates`:指定需要解析成日期格式的列。
- `date_parser`:用于解析日期的函数。
- `na_values`:将指定值视为缺失值。
- `skiprows`:要跳过的行数,可以是整数或列表。
- `nrows`:要读取的行数。
- `skip_footer`:文件末尾要跳过的行数。
- `converters`:将指定列的值转换为特定类型的函数。
- `true_values`/`false_values`:将指定值转换为True或False。
- `keep_default_na`:是否保留默认的缺失值列表。
- `verbose`:是否打印读取信息。
更多参数可以参考官方文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html。
阅读全文