我正在提取一個(gè)包含許多不同數(shù)據(jù)的文本文件:序列號(hào)、類型和 csv 數(shù)據(jù)日志:A123>A123>讀snSN = 12143A123>讀取 cms-sncms-sn = 12143-00000000-0000A123>讀取 fw-revfw-rev = 1.3, 1.3A123>讀取日志日志 =1855228,1,0,41,-57,26183,25,22,21,22,0,0,0,89,2048,500,0,01855240,1,0,33,0,26319,25,22,22,23,0,0,0,89,2048,500,0,02612010,1,0,41,-82,26122,20,21,21,21,0,0,0,87,2048,500,0,02612142,1,0,49,301,27607,21,22,21,21,0,0,0,81,2048,500,0,0這是我到目前為止的代碼:import pandas as pdlines = [] # Declare an empty list named "lines"with open ('03-22-2019.txt', 'rt') as in_file: # Open file for line in in_file: # For each line of text in in_file, where the data is named "line", lines.append(line.rstrip('\n')) # add that line to our list of lines, stripping newlines. while('' in lines): lines.remove("")lines = [x for x in lines if 'A123' not in x] #delete all lines with 'A123'for element in lines: # For each element in our list, print(element) # print it. split_line = lines[0].split() # create list with serial number lineSerial_Num = split_line[-1]print(Serial_Num)split_line = lines[1].split() # go to line with CMS SNCMS_SN = split_line[-1]print(CMS_SN)split_line = lines[2].split()Firm_Rev_1 = split_line[-1]Firm_Rev_2 = split_line[-2]print(Firm_Rev_1)print(Firm_Rev_2) # Problem section starts here!start_data = lines.index("log =") + 1 #<<<<<<<<<<data = [x for x in lines[start_data:].split(",")] #<<<<<<<<<<#dfObj = pd.DataFrame(lines[start_data:-1].split(",")) #<<<<<<<<<<當(dāng)我嘗試將數(shù)據(jù)的日志部分導(dǎo)入數(shù)據(jù)幀并將 CSV 值拆分到它們自己的列中時(shí),問題就出現(xiàn)了。我如何以編程方式找到日志數(shù)據(jù)的開頭,并將數(shù)據(jù)從那里讀到最后到 Pandas 數(shù)據(jù)幀中?
1 回答

莫回?zé)o
TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
看起來你很接近。
# this will get you a list of lists for each line.
data = [line.split(',') for line in lines[start_data:]]
# This should construct your data frame
dfObj = pd.DataFrame(data=data, columns=[list, of, column, names])
添加回答
舉報(bào)
0/150
提交
取消