簡體   English   中英

未定義變量和縮進錯誤

[英]Variables are not defined and indentation errors

我是python的新手,我正在編寫代碼以在一周中的幾天之間創建性別之間的繪圖圖,我不知道它有什么問題,因為沒有結果,並且有未定義變量'gender'的錯誤

注意:我正在使用python 3

import calendar
def gender_perday_analysis(filename, gender):
    with open(filename, 'r') as f_in:
        Reader = csv.DictReader(f_in)

        week_days = 0
        Female_count = []
        Male_count = []

        for row in Reader:
            if row['gender'] == 'Female':
                if row['day_of_week'] == 'Sunday':
                    week_days+= 1
                    Female_count.append(week_days)
                elif row['day_of_week'] == 'Monday':
                    week_days+= 1
                    Female_count.append(week_days)
                elif row['day_of_week'] == 'Tuesday':
                    week_days+= 1
                    Female_count.append(week_days)
                elif row['day_of_week'] == 'Wednesday':
                    week_days+= 1
                    Female_count.append(week_days)
                elif row['day_of_week'] == 'Thursday':
                    week_days+= 1
                    Female_count.append(week_days)
                elif row['day_of_week'] == 'Friday':
                    week_days+= 1
                    Female_count.append(week_days)
                else:
                    week_days+= 1
                    Female_count.append(week_days)
            else:
                week_days+= 1
                Male_count.append(week_days)

        return Male_count, Female_count


Chicago = './data/Chicago-2016-Summary.csv'
result2 = gender_perday_analysis(Chicago, 'gender')
print(result2)
if row['gender'] == 'Female':

您傳入的是一串'gender' ,而不是可變的gender 更正以下內容之一:

if row[gender] == 'Female':

導入CSV,可以幫助添加錯誤

可能是您的文件實際上沒有讀取您認為需要的內容。 讀取文件可能是錯誤的。 如果可以添加IDE給出的確切錯誤,將很有幫助。 測試讀取文件是否有問題。 添加此語句

for row in Reader:
       print(row)

此外,您可以嘗試使用Pandas讀取和分析文件,因為這使事情變得更加容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM