如何获取打开文件的最后一列。我的意思是,用panda dataframen做到这一点不是问题。 我使用这个开放方法来从不同的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?
我找到的答案只显示了熊猫解决方案。
非常感谢。
最佳
答案 0 :(得分:2)
您可以在此处返回每个打开文件的最后一列,而不管文件的大小:
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])
答案 1 :(得分:0)
首先,我想指出的是您多次调用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] )
"""