我有一个包含日期,时间,正数和负数列的CSV文件。有重复的日期,如第4行和第5行,具有不同的正值和负值。我想将用户输入日期与csv文件中的日期相匹配,并返回日期索引,以便我获得不同的正值和负值。
但是,我尝试了循环,但它总是返回日期的第一个索引。
The CSV file look like this:
Date Pos Neg
20180402 1 0
20180402 0 1
20180401 0 1
20180402 1 0
for i in range(len(combine_list)):
xdate = combine_list[i][0]
print(xdate)
if user_date3 ==xdate:
print("yes")
count_price +=1
index1 = date_list.index(xdate)
print(index1)
#index1.append(index1)
很抱歉,如果代码乱糟糟的话,我刚开始学习如何编码。任何帮助表示赞赏。谢谢! :)
答案 0 :(得分:1)
A for loop will iterate over items in a sequence。如果需要引用序列中每个项目的索引,请使用enumerate()
。
假设combine_list
是列表清单:
combine_list = [['20180402',1,0],
['20180402',0,1],
['20180401',0,1],
['20180402',1,0]]
for i, line in enumerate(combine_list):
xdate = line[0]
print(xdate)
if user_date3 == xdate:
print("yes")
count_price +=1
index1 = i
print(index1)
#index1.append(index1)
答案 1 :(得分:0)
我假设您已将.csv文件导入为表多维数组。
table = [['Date', 'Pos', 'Neg'],
[20180402, 1, 0],
[20180402, 0, 1],
[20180401, 0, 1],
[20180402, 1, 0]]
def filter_data(table, date):
filtered_data = [table[0]]
for row in table[1:]:
if row[0] == date:
filtered_data.append(row)
return filtered_data
print filter_data(table, 20180402)