【发布时间】:2016-07-29 01:23:15
【问题描述】:
我正在开发一个从 CSV 文件中读取数据的小程序。作为程序的一部分,用户输入仅用于选择 >= 但我在运行代码时得到 TypeError: unorderable types: str() >= int() 的数据。看起来刺没有转换为整数。
def get_csv_data(data_type, num):
import csv
ga_session_data = {}
ga_pageviews_data = {}
with open('files/data.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
page, sessions, pageviews = row
ga_session_data[page] = int(sessions)
ga_pageviews_data[page] = int(pageviews)
if data_type == 'sessions' and sessions >= int(num):
for page, sessions in ga_session_data.items():
print(page, ' - ', sessions)
elif data_type == 'pageviews' and pageviews >= int(num):
for page, pageviews in ga_pageviews_data.items():
print(page, ' - ', pageviews)
def main():
while(True):
question = input("Are you interested in sessions or pageviews?")
if question == 'sessions':
number = int(input("What range are you interested in?"))
get_csv_data(data_type = 'sessions', num = int(number))
elif question == 'pageviews':
number = input("What range are you interested in?")
get_csv_data(data_type = 'pageviews', num = int(number))
else:
print("Invalid Input. Choose between sessions and pageviews.")
main()
【问题讨论】:
-
在
sessions >= int(num)中,您将字符串 (sessions) 与 int 进行比较。 -
浏览量也是如此 >= int(num)