import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('G:\A5204990500002023050006\一级卡6228480269035098277.xlsx',index_col=0) print(df) print(df.iloc[:,2]) first_card = '6212250200006032450' print(first_card) level_cards = pd.DataFrame({'卡级':[],'账号':[]}) print(level_cards) for first_cards in df.iloc[:,2]: if first_cards == first_card: level_cards['账号'] = first_cards print(level_cards)
时间: 2024-03-18 10:39:47 浏览: 80
根据你提供的代码,我发现这里存在一个问题。在 `for` 循环中,我们使用 `level_cards['账号']` 来给 `level_cards` 添加新的元素,但是这样只会将所有匹配的元素都赋值给 `'账号'` 列,而不是添加新的元素。
如果你想将所有匹配的元素都添加到 `level_cards` 中,可以使用以下代码:
```
import pandas as pd
pd.set_option('display.unicode.east_asian_width',True)
df = pd.read_excel('G:\A5204990500002023050006\一级卡6228480269035098277.xlsx',index_col=0)
print(df)
print(df.iloc[:,2])
first_card = '6212250200006032450'
print(first_card)
level_cards = pd.DataFrame({'卡级':[],'账号':[]})
print(level_cards)
for index, row in df.iterrows():
if row[2] == first_card:
level_cards = level_cards.append({'卡级': row[1], '账号': row[2]}, ignore_index=True)
print(level_cards)
```
在这个代码中,我们使用 `iterrows()` 方法迭代 `df` 的每一行,如果第三列等于 `first_card`,则将该行的第一列和第二列添加到 `level_cards` 中的新行中,并使用 `ignore_index=True` 参数来自动为新行分配一个新的索引。最终,`level_cards` 将包含所有与 `first_card` 相等的元素。
阅读全文