Python Forum
Detect end of line in text file including line breaks
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Detect end of line in text file including line breaks
#1
Hi folks,

I'm new to Python and trying several little projects to get into the languange.
I have a text file which was exported from a WhatsApp chat group and I try to convert this file line by line to a csv format:

23.11.19, 21:35 - Person A: ndsnldkl odj aso saod saodjd ad?
23.11.19, 21:43 - Person B: nsidd dsidaojd eduq dsajojdipajd adapsd??
23.11.19, 21:44 - Person C: ahush asaosi0sj a0s9uaS SJs !!

The output is a csv format:
23.11.19;21:35;Person A;ndsnldkl odj aso saod saodjd ad?

Thats my (newbie) code:
liste = []
for x in f:
    date = x[:8]
    time = x[10:15]
    pos1 = x.find(":",18,-1)
    name = x[18:pos1]
    message = x[pos1+2:-1]
    liste.append(date)
    liste.append(time)
    liste.append(name)
    liste.append(message)
It works great until I get messages like this with line break:
29.11.19, 15:54 - Person D: ndadad saojd sapods dsap.
ksjd sad aslajd a


The "message = x[pos1+2:-1]" does not recognize the line break.
I had written this code in the past with PHP that works nearly the same, but PHP recognizes the full message including the line breaks.

Any idea how I can fix that?

Greetings,
Daniel
Reply
#2
The problem is with the for x in f which reads the file line by line and not message by message.
Reply
#3
(Dec-18-2019, 09:27 AM)Gribouillis Wrote: The problem is with the for x in f which reads the file line by line and not message by message.

Hi, thanks, is there a better solution for reading the file?
Reply
#4
you need to check if the line starts with pattern dd.mm.yy, hh:mm - .
If it does - it's a new message. if not - it's just a new line in the previous message (i.e. append to previous one).
Don't know what the exported file looks like in case of quotes or if (after a new line) message text starts with the above pattern
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply
#5
You can better use regex and there you can include new line/break for message text
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  How to add multi-line comment section? Winfried 1 139 Mar-24-2024, 04:34 PM
Last Post: deanhystad
  break print_format lengthy line akbarza 4 275 Mar-13-2024, 08:35 AM
Last Post: akbarza
  Reading and storing a line of output from pexpect child eagerissac 1 4,148 Feb-20-2024, 05:51 AM
Last Post: ayoshittu
  coma separator is printed on a new line for some reason tester_V 4 419 Feb-02-2024, 06:06 PM
Last Post: tester_V
  problem with spliting line in print akbarza 3 336 Jan-23-2024, 04:11 PM
Last Post: deanhystad
  Unable to understand the meaning of the line of code. jahuja73 0 273 Jan-23-2024, 05:09 AM
Last Post: jahuja73
  Receive Input on Same Line? johnywhy 8 609 Jan-16-2024, 03:45 AM
Last Post: johnywhy
  Reading in of line not working? garynewport 2 786 Sep-19-2023, 02:22 PM
Last Post: snippsat
  Function to count words in a list up to and including Sam Oldman45 15 6,414 Sep-08-2023, 01:10 PM
Last Post: Pedroski55
  'answers 2' is not defined on line 27 0814uu 4 671 Sep-02-2023, 11:02 PM
Last Post: 0814uu

Forum Jump:

User Panel Messages

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