Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Text file read issues
#1
Hello all

New to the forums, about six months experience with simple(ish) Python scripting.

I've got a bit of an issue that isn't with code specifically but seems to be to do with a set of .txt files. Basically, we have a BMS that outputs temperature readings line by line in the form of a simple .txt file and I want to read these lines and store them as a list in Python. The code for this is simple and works fine on every .txt file I've tested EXCEPT for these generated by the BMS.

On the surface the .txt output looks normal but returns blank lines when interrogated. If I copy/paste the lines into a fresh .txt file the data reads fine. The only difference I can see between the BMS generated .txt file and the copy/pasted version is the file size; the file size halves when the data is copy/pasted to a fresh file.

I'm sure there's something non standard about these BMS generated .txt files but I can't figure out what it is. Ideally I need someone more experienced to look at the files to see if they can spot what's different about them but I cannot attached files to this forum post.

Anyone seen something like this before? Any ideas on how I could get a sample of one of these .txt files across for examination?

Thanks

CP
Reply
#2
I don't know what is a BMS, but I have some points that you can investigate:

1 - What is the encoding of the BMS .txt file?
2 - Maybe when you are running your python script, the BMS file is being used by the BMS and python is getting nothing (exception).
3 - Post at least the file handling part of your code here (with tags) and use some lines of the BMS .txt file.
Reply
#3
maybe upload a sample txt file along with your code in python tags?
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
#4
Thanks for the replies. I'll do my best to answer and add a bit more info. BMS stands for Building Management System btw.

Gontajones - Your comment about encoding got me on the right track. The encoding of the file is Unicode which seems to be causing the problem. When I do a save as on the file it defaults to ANSI and all is good. Unfortunately I'm not sure how to convert from Unicode to ANSI within Python.

For reference, the lines are supposed to look like this from the text file.

25 August 2017 09:15:00 23.19
25 August 2017 09:00:00 22.98
25 August 2017 08:45:00 22.76
25 August 2017 08:30:00 22.62
25 August 2017 08:15:00 22.41
25 August 2017 08:00:00 22.34

So... when working with the Unicode .txt file I've tried a few things:

with open("C:\\Users\\UKRCM003\\Desktop\\Sample datafiles\\170825  t05 L11O44S3.txt") as f:
    content = f.readlines()
for con in content:
    print(con)
This just spits out mostly blank lines with some weird characters on the first line

Output:
รพ2
But, more interestingly, modifying the code to this:

with open("C:\\Users\\UKRCM003\\Desktop\\Sample datafiles\\170825  t05 L11O44S3.txt") as f:
    content = f.readlines()
for con in content:
    print(con.encode('cp1252'))
Results in this....

Output:
b'\xff\xfe2\x005\x00 \x00A\x00u\x00g\x00u\x00s\x00t\x00 \x002\x000\x001\x007\x00 \x000\x009\x00:\x001\x005\x00:\x000\x000\x00\t\x002\x003\x00.\x001\x009\x00\n' b'\x00\n' b'\x002\x005\x00 \x00A\x00u\x00g\x00u\x00s\x00t\x00 \x002\x000\x001\x007\x00 \x000\x009\x00:\x000\x000\x00:\x000\x000\x00\t\x002\x002\x00.\x009\x008\x00\n' b'\x00\n' b'\x002\x005\x00 \x00A\x00u\x00g\x00u\x00s\x00t\x00 \x002\x000\x001\x007\x00 \x000\x008\x00:\x004\x005\x00:\x000\x000\x00\t\x002\x002\x00.\x007\x006\x00\n' b'\x00\n' b'\x002\x005\x00 \x00A\x00u\x00g\x00u\x00s\x00t\x00 \x002\x000\x001\x007\x00 \x000\x008\x00:\x003\x000\x00:\x000\x000\x00\t\x002\x002\x00.\x006\x002\x00\n' b'\x00\n' b'\x002\x005\x00 \x00A\x00u\x00g\x00u\x00s\x00t\x00 \x002\x000\x001\x007\x00 \x000\x008\x00:\x001\x005\x00:\x000\x000\x00\t\x002\x002\x00.\x004\x001\x00\n' b'\x00\n'
Still not what I need but at least it's seeing something.

Is this making more sense now?
Reply
#5
please, upload/attach real txt file as it comes from BMS. it looks like encoding issue.
what python version do you use?
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
#6
Thanks buran

I'm using Python 3.5

How do I attach a file to these forums please? There does not appear to be an obvious option.
Reply
#7
(Jul-23-2018, 12:18 PM)Complex_Potential Wrote: How do I attach a file to these forums please? There does not appear to be an obvious option.
From the help -> How to attach a file
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
#8
Thanks again. Unfortunately I dont seem to have the necessary permissions to attach files at the moment.
Reply
#9
One more post and you can upload or use eg beamit.
Reply
#10
Here's me posting again....
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Recommended way to read/create PDF file? Winfried 3 2,869 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,429 Nov-09-2023, 10:56 AM
Last Post: mg24
  read file txt on my pc to telegram bot api Tupa 0 1,106 Jul-06-2023, 01:52 AM
Last Post: Tupa
  parse/read from file seperated by dots giovanne 5 1,105 Jun-26-2023, 12:26 PM
Last Post: DeaD_EyE
  Formatting a date time string read from a csv file DosAtPython 5 1,253 Jun-19-2023, 02:12 PM
Last Post: DosAtPython
  How do I read and write a binary file in Python? blackears 6 6,507 Jun-06-2023, 06:37 PM
Last Post: rajeshgk
  Read csv file with inconsistent delimiter gracenz 2 1,195 Mar-27-2023, 08:59 PM
Last Post: deanhystad
  Read text file, modify it then write back Pavel_47 5 1,588 Feb-18-2023, 02:49 PM
Last Post: deanhystad
  Correctly read a malformed CSV file data klllmmm 2 1,928 Jan-25-2023, 04:12 PM
Last Post: klllmmm
  How to read csv file update matplotlib column chart regularly SamLiu 2 1,058 Jan-21-2023, 11:33 PM
Last Post: SamLiu

Forum Jump:

User Panel Messages

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