Python Forum
How to read CSV file one row at the time in a range and some delay in between
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to read CSV file one row at the time in a range and some delay in between
#1
Hello, I am new to Python,
I want to read a CSV file, but have some problems, hopefully, get some help,
I have a one-column data on CSV file since it is just one column data I am not sure if it does make any difference using a text file or CSV file,

anyhow I want to get each row of data from a range ( e.g. row 5 to row 14) one by one with some delay in between,
but with the code, I have there some problems.
  1. It prints out all rows (given range) at once, the timer does not work for the delay in between
  2. The output wrapps in '' and [],
Here is my code,
import csv
csvfile = open('my_file.csv','r')
csvFileArray = []
for row in csv.reader(csvfile):
     csvFileArray.append(row)
print(csvFileArray[5:11])
time.sleep(5)
I want to insert this row of data in another function, but for the purpose of testing this code I use print function.
I am grateful for your help to make this work.

Here is the output data:
Output:
[['164904789674679676'], ['771077704416674839'], ['844493667436017'], ['78777970164111066'], ['776316316771378360'], ['764687068316646778']]
and here is how the data is in CSV file:
Output:
644370674307387060 3769616199338017 10836877341311643 707147608047067661 164904789674679676 771077704416674839 844493667436017 78777970164111066 776316316771378360 764687068316646778 660179811186804894
Reply
#2
Something like this?

import time

with open('one_row_at_time.csv', 'r') as f:
    for i, line in enumerate(f, start=1):
        if i in range(5, 15):       # rows 5-14
            print(line)             # use line.rstrip() to handle newline if needed
            time.sleep(2)           
One should break out of loop if needed lines are processed, but it should be trivial to add/refactor code. There is also itertools module with suitable functions.

As you probably know, slice will not raise any error if indices are out-of-bounds. So you can't be sure of number of lines (if any) printed/returned:

>>> 'abc'[2:20]
'c'
>>> 'abc'[5:20]
''
greenpine likes this post
I'm not 'in'-sane. Indeed, I am so far 'out' of sane that you appear a tiny blip on the distant coast of sanity. Bucky Katt, Get Fuzzy

Da Bishop: There's a dead bishop on the landing. I don't know who keeps bringing them in here. ....but society is to blame.
Reply
#3
Thanks for the code,
I tried it and it works. Smile
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Recommended way to read/create PDF file? Winfried 3 2,784 Nov-26-2023, 07:51 AM
Last Post: Pedroski55
  python Read each xlsx file and write it into csv with pipe delimiter mg24 4 1,308 Nov-09-2023, 10:56 AM
Last Post: mg24
  Is it possible to add a delay right after a request.get() cubangt 6 2,344 Sep-07-2023, 09:29 AM
Last Post: shoesinquiry
  read file txt on my pc to telegram bot api Tupa 0 1,048 Jul-06-2023, 01:52 AM
Last Post: Tupa
  parse/read from file seperated by dots giovanne 5 1,043 Jun-26-2023, 12:26 PM
Last Post: DeaD_EyE
  Formatting a date time string read from a csv file DosAtPython 5 1,160 Jun-19-2023, 02:12 PM
Last Post: DosAtPython
  How do I read and write a binary file in Python? blackears 6 6,013 Jun-06-2023, 06:37 PM
Last Post: rajeshgk
  Read csv file with inconsistent delimiter gracenz 2 1,140 Mar-27-2023, 08:59 PM
Last Post: deanhystad
  Read text file, modify it then write back Pavel_47 5 1,500 Feb-18-2023, 02:49 PM
Last Post: deanhystad
  Correctly read a malformed CSV file data klllmmm 2 1,813 Jan-25-2023, 04:12 PM
Last Post: klllmmm

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020