目前,我有一個代碼,“用戶”將輸入他們的用戶名和密碼以登錄。
uname = input("Enter uname: ")
pword = input("Enter pword: ")
.
.
.
if row[1] == pword and row[0] == uname:
LOGIN()
但是,我希望添加一個“更新資訊”和“生成報告”功能。
如何使用 python 進行編碼,以便可以檢索 CSV 檔案特定行的“e 單價”?(例如 uname = donnavan12 和 pword = Onwdsna)?

我的另一個問題是:如何使用 python 進行編碼,以便我可以使用(例如 uname = donnavan12 和 pword = Onwdsna)檢索特定列的總和(例如“節能”)?

抱歉,我沒有嘗試過的代碼,因為我什至不知道從哪里開始。我過去只學過基本的 python 并使用了更容易的資料框,但在這個專案中,不允許使用 Pandas,所以我很困惑。(我還添加了最少的代碼,因為我害怕讓我的隊友因抄襲而受到打擊。如果需要更多代碼,請告訴我。)
uj5u.com熱心網友回復:
嘗試DictReader在csv模塊中使用
示例代碼:
mcsv = csv.DictReader(filename)
rows = list(mcsv)
def get_value(myname, mypass, clm):
for row in rows:
if row['uname']==myname and row['pass'] == mypass:
return row['e unit price']
def set_value(myname, mypass, clm, new_value):
for row in rows:
if row['uname']==myname and row['pass'] == mypass:
row[clm] = new_value
def get_sum(myname, mypass, clm):
esaved = 0
for row in rows:
if row['uname']==myname and row['pass'] == mypass:
esaved = int(row[clm])
return esaved
print('energy saved: ', get_sum(myname, mypass, 'energy saved'))
print('e unit price before: ', get_value(myname, mypass, 'e unit price'))
set_value(myname, mypass, 'e unit price', 201)
print('e unit price after: ', get_value(myname, mypass, 'e unit price'))
輸入
| 無名 | 經過 | e 單價 | 節能 |
|---|---|---|---|
| 美國廣播公司 | 123 | 100 | 10 |
| cde | 456 | 101 | 11 |
| 美國廣播公司 | 123 | 100 | 13 |
| fgh | 789 | 102 | 12 |
輸出
energy saved: 23
e unit price before: 100
e unit price after: 201
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428831.html
