我正在尝试从一行中找到列索引,但不断收到错误,我是使用熊猫的新手



已解决

import pandas as pd
firstNameDB = str(firstNameInput())
surNameDB = str(surNameInput())
with open('userdb.csv', mode='r', encoding='utf-8') as f:
if (firstNameDB and surNameDB) in f.read():
print('You are a pre-existing user on the database, '
'let me load your details for you')
data = pd.read_csv('userdb.csv')
df = pd.DataFrame(data, columns=['Firstname', 'Surname', 'Hours'])
print(df)
dfRow = df[df['Firstname'].str.match(firstNameDB)]
print(dfRow)

CSV只是一个基本的名字,姓氏,数字文件。我的代码当前检查用户是否已在数据库中。我正在尝试编写一种方法来定位Hours列的索引,以便我可以调用 (x,y( 处的数据,其中 x 是行的索引整数,y 是列号。然后,此位置的数据将通过一些计算提供

您需要列的索引吗?

>>> df.columns.tolist().index('Hours')
2

我认为您正在寻找的是

dfRow = df[df['Firstname'] == firstNameDB and df['Surname'] == surNameDB]

我不会做"with open"或"if(firstNameDB和surNameDB("部分。 只需将 csv 读入数据帧,然后使用上面的行查找匹配的行。

编辑:我误读了你的问题,但希望这些建议仍然对你有所帮助。

最新更新