Solved - Dataloader iteration

Why does this basic Dataloader deliver twice the first value in the data, and not the next (first and second)? I need just a simple yield funcionality for the next series value.
What is to change?
Thanks in advance!

class myDataset(Dataset):
>def init(self, csv_file):
>>self.datenwerte = pd.read_csv(csv_file)
>def len(self):
>> return len(self.datenwerte)
>def getitem(self, idx):
>>sample = self.datenwerte.iloc[idx,1]
>>return sample

dataset1=myDataset(‘airline-passengers.csv’), batch_size=1, shuffle=False)
inhalte1 = iter(data_iter1).next()
inhalte2 = iter(data_iter1).next()

-> delivers tensor([112]) tensor([112])

-> should: tensor([112]) tensor([118])

data (‘airline-passengers.csv’)
Month Passengers
0 1949-01 112
1 1949-02 118
2 1949-03 132
3 1949-04 129…

got it, I may call iter(…) only once, that´s it:
it = iter(data_iter1)
first = next(it)
second = next(it)

and this one makes it iterable over the length:

from itertools import cycle,islice

class myAirlineDataset(IterableDataset):
    def __init__(self, data): = data
    def process_data(self,data):
        for x in data:
          yield x
    def get_stream(self,data):
        return cycle(self.process_data(data))
    def __len__(self):
        return len(data)
    def __iter__(self):
       return (self.get_stream([:,1]))

dataset1=myAirlineDataset(data), batch_size=1)

#for batch in islice(data_iter1,144,146):
#  print(batch)

it = iter(data_iter1)
for n in range(145):