为了账号安全,请及时绑定邮箱和手机立即绑定

Python 将列表的 CSV 部分转换为 Pandas 数据框

Python 将列表的 CSV 部分转换为 Pandas 数据框

潇湘沐 2021-12-17 10:25:13
我正在提取一个包含许多不同数据的文本文件:序列号、类型和 csv 数据日志: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(","))  #<<<<<<<<<<当我尝试将数据的日志部分导入数据帧并将 CSV 值拆分到它们自己的列中时,问题就出现了。我如何以编程方式找到日志数据的开头,并将数据从那里读到最后到 Pandas 数据帧中?
查看完整描述

1 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

看起来你很接近。


# 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])


查看完整回答
反对 回复 2021-12-17
  • 1 回答
  • 0 关注
  • 241 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号