使用 open 获取每个文件中的最后一列

如何获取打开文件的最后一列。我的意思是,用熊猫数据框来做这不是问题。对于这个问题,我使用 open 方法从不同的 txt 文件中只获取一些需要的信息。平均问题是, result_metar 位于不同的列中,并且未固定在第 21 列上。


for xx in range(len(fns_land)):

   with open(fns_land[xx]) as infile:

        for line in infile:

            result_station.append(line.split(',')[0])

            result_date.append(line.split(',')[1])

            result_metar.append(line.split(',')[21])

例如,有没有办法使用 iloc 并更改固定值 21?


我发现的答案只显示了熊猫解决方案。


阿波罗的战车
浏览 193回答 2
2回答

慕丝7291255

无论文件大小如何,您都可以在此处返回每个打开文件的最后一列:for xx in range(len(fns_land)):    with open(path) as infile:         lines = infile.readlines()         for line in lines:             result_station.append(line.split(',')[0])             result_date.append(line.split(',')[1])             result_metar.append(line.split(',')[-1])

侃侃尔雅

首先,我想指出您多次调用 line.split() ,这是不理想的。相反,您可以通过将拆分结果列表分配给变量来拆分该行一次。然后只需从列表中选择项目即可。但是......实际上我会这样做:for filename in fns_land:    with open(filename) as infile:       last_line = infile.readlines()[-1]       last_column = last_line.split(',')[-1]       result_metar.append(last_column)       """        # alternatively 3 lines above could be just be one command, such as       result_metar.append( (infile.readlines()[-1]).split(',')[-1] )       """
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python