Nov-08-2019, 10:39 AM
(Nov-07-2019, 11:59 PM)Larz60+ Wrote: Here's a sample of what the actual data looks like, and some code that will read it:
raw data sample:
simple code to read it
Output:0631960537; 10.01.1990 09:35:37;Intern;0x2207;Batt-SN ungueltig 0631960539; 10.01.1990 09:35:39;CHRG;0x0400;Netzfrequenz zu klein 0631960539; 10.01.1990 09:35:39;CHRG;0x0402;Netzspg. zu klein 0631960539; 10.01.1990 09:35:39;CHRG;0x0607;UBatt Min 0631960539; 10.01.1990 09:35:39;CHRG;0x0616;Uzwk Min 0631963784; 10.01.1990 10:29:44;Intern;0x2207;Batt-SN ungueltig 0631963787; 10.01.1990 10:29:47;CHRG;0x0400;Netzfrequenz zu klein 0631963787; 10.01.1990 10:29:47;CHRG;0x0402;Netzspg. zu klein 0631963905; 10.01.1990 10:31:45;Intern;0x2207;Batt-SN ungueltig 0631963909; 10.01.1990 10:31:49;CHRG;0x0400;Netzfrequenz zu klein;631963907: ENS::St: 30 SF: 0000 BF: 000a BAS: 0000 BAI: 0000 WR::St: 1 SF: 0000 BF: 0005 BAS: 0000 BAI: 0000 EMS::St: 18 BF1: 00041213 BF2: 00100140 Ph: 0 LN: 0 Fan: 342 0631963909; 10.01.1990 10:31:49;CHRG;0x0402;Netzspg. zu klein;631963909: ENS::St: 30 SF: 0000 BF: 000a BAS: 0000 BAI: 0000 WR::St: 1 SF: 0000 BF: 0005 BAS: 0000 BAI: 0000 EMS::St: 911 BF1: 00041813 BF2: 00100140 Ph: 0 LN: 0 Fan: 342 0631964140; 10.01.1990 10:35:40;Intern;0x2207;Batt-SN ungueltig 0631964182; 10.01.1990 10:36:22;WR;0x0515;Spg. N->PE Fehler;631964180: ENS::St: 30 SF: 0000 BF: 0006 BAS: 0000 BAI: 0000 WR::St: 900 SF: 0020 BF: 0006 BAS: 0000 BAI: 0000 EMS::St: 31 BF1: 00045213 BF2: 00000140 Ph: 0 LN: 0 Fan: 374 0631966026; 10.01.1990 11:07:06;Intern;0x2207;Batt-SN ungueltig 0631966029; 10.01.1990 11:07:09;CHRG;0x0402;Netzspg. zu klein;631966027: ENS::St: 30 SF: 0000 BF: 000a BAS: 0000 BAI: 0000 WR::St: 1 SF: 0000 BF: 0005 BAS: 0000 BAI: 0000 EMS::St: 18 BF1: 00041213 BF2: 00100140 Ph: 0 LN: 0 Fan: 372 0631966029; 10.01.1990 11:07:09;CHRG;0x0403;Netzspg. zu gross 0631966029; 10.01.1990 11:07:09;CHRG;0x061D;Dry-Kontakt;631966029: ENS::St: 30 SF: 0000 BF: 000a BAS: 0000 BAI: 0000 WR::St: 1 SF: 0000 BF: 0005 BAS: 0000 BAI: 0000 EMS::St: 911 BF1: 00041813 BF2: 00100140 Ph: 0 LN: 0 Fan: 372
Note: ASll this does is read one record at a time into a list named row, and waits for you to press enter before reading next record,
but it reads reliably, so you can modify for your own purposes. Since each record is in a list, you can access individual parts with row[index], index vbeing an integer starting with 0 for first field, or to read all fields one by one just usefor field in row:
import csv import os class ReadFiles: def __init__(self): # assure in proper directory os.chdir(os.path.abspath(os.path.dirname(__file__))) # you can add your file list code here list_raw_files = ['130000054.csv'] for filename in list_raw_files: self.read_file_data(filename) def read_file_data(self, filename): with open(filename) as fp: csv_reader = crdr = csv.reader(fp, delimiter=';') for row in crdr: print(row) input() if __name__ == '__main__': ReadFiles()results of first few records:
Output:['0631960537', ' 10.01.1990 09:35:37', 'Intern', '0x2207', 'Batt-SN ungueltig'] ['0631960539', ' 10.01.1990 09:35:39', 'CHRG', '0x0400', 'Netzfrequenz zu klein'] ['0631960539', ' 10.01.1990 09:35:39', 'CHRG', '0x0402', 'Netzspg. zu klein'] ['0631960539', ' 10.01.1990 09:35:39', 'CHRG', '0x0607', 'UBatt Min'] ['0631960539', ' 10.01.1990 09:35:39', 'CHRG', '0x0616', 'Uzwk Min'] ['0631963784', ' 10.01.1990 10:29:44', 'Intern', '0x2207', 'Batt-SN ungueltig'] ['0631963787', ' 10.01.1990 10:29:47', 'CHRG', '0x0400', 'Netzfrequenz zu klein'] ['0631963787', ' 10.01.1990 10:29:47', 'CHRG', '0x0402', 'Netzspg. zu klein'] ['0631963905', ' 10.01.1990 10:31:45', 'Intern', '0x2207', 'Batt-SN ungueltig'] ['0631963909', ' 10.01.1990 10:31:49', 'CHRG', '0x0400', 'Netzfrequenz zu klein', '631963907: ENS::St: 30 SF: 0000 BF: 000a BAS: 0000 BAI: 0000 WR::St: 1 SF: 0000 BF: 0005 BAS: 0000 BAI: 0000 EMS::St: 18 BF1: 00041213 BF2: 00100140 Ph: 0 LN: 0 Fan: 342'] ['0631963909', ' 10.01.1990 10:31:49', 'CHRG', '0x0402', 'Netzspg. zu klein', '631963909: ENS::St: 30 SF: 0000 BF: 000a BAS: 0000 BAI: 0000 WR::St: 1 SF: 0000 BF: 0005 BAS: 0000 BAI: 0000 EMS::St: 911 BF1: 00041813 BF2: 00100140 Ph: 0 LN: 0 Fan: 342'] ['0631964140', ' 10.01.1990 10:35:40', 'Intern', '0x2207', 'Batt-SN ungueltig']
Hi Larz60+,
Thks for taking your time to help me. I'll try this option and give you a feedback.