import pandas as pd pd.set_option('display.unicode.east_asian_width', True) df = pd.read_excel('G:\A5204990500002023050006\一级卡6228480269035098277.xlsx',index_col=0) df = str(df) print(df) first_card = '6228480269035098277' level_cards = pd.DataFrame({'卡级': [], '账号': []}) for index, row in df.iterrows(): if row[0] == first_card: level_cards = pd.concat([level_cards, pd.DataFrame({'卡级': ['一级卡'], '账号': [row[0]]})], ignore_index=True) print(level_cards)
时间: 2024-03-18 11:40:46 浏览: 113
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
这段代码与之前的代码相比,唯一的不同是在读取 Excel 文件后,将 DataFrame 对象转换为字符串对象,然后尝试使用 `iterrows()` 函数迭代它。
这种方法是错误的,因为字符串对象没有 `iterrows()` 函数,所以会导致 `AttributeError: 'str' object has no attribute 'iterrows'` 错误。
如果你想使用字符串对象而不是 DataFrame 对象,你可以使用 `splitlines()` 函数将字符串拆分为行,然后使用 `split()` 函数将每一行拆分为单元格。例如:
```
import pandas as pd
# 读取 Excel 文件并将 DataFrame 对象转换为字符串对象
df = pd.read_excel('G:\A5204990500002023050006\一级卡6228480269035098277.xlsx', index_col=0)
df_str = str(df)
# 拆分字符串为行和单元格
rows = df_str.splitlines()
data = [row.split() for row in rows]
# 创建 Pandas DataFrame 对象
df = pd.DataFrame(data[1:], columns=data[0])
# 查找第一级卡的账号
first_card = '6228480269035098277'
level_cards = pd.DataFrame({'卡级': [], '账号': []})
for index, row in df.iterrows():
if row[0] == first_card:
level_cards = pd.concat([level_cards, pd.DataFrame({'卡级': ['一级卡'], '账号': [row[0]]})], ignore_index=True)
print(level_cards)
```
在这个例子中,我们首先读取 Excel 文件并将 DataFrame 对象转换为字符串对象。然后,我们使用 `splitlines()` 函数将字符串拆分为行,使用 `split()` 函数将每一行拆分为单元格。
接下来,我们创建一个名为 `data` 的列表,它将包含拆分后的行和单元格数据。我们使用第一行作为 DataFrame 对象的列名,然后将剩余的行作为数据。
最后,我们使用 `iterrows()` 函数迭代 DataFrame 对象 `df`,查找第一级卡的账号,并将其存储在 `level_cards` DataFrame 对象中。
阅读全文