首页 > 解决方案 > 如何从python中的文本文件中提取特定数据

问题描述

我正在尝试从文本文件中提取特定数据以在另一个函数中使用它。我已经对此进行了查找并发现了一些东西,但它不起作用,尽管它似乎应该起作用。我做错了什么还是有更好的方法来做到这一点?我基本上是在尝试提取文本文件中的第一列数据“距离”,当然没有公里。

这是文本文件:

Distances              Times                    Dates               Total distance & time
00 km                  00:00:00 h               0000-00-00            00 km ; 00:00:00 h
28 km                  01:30:21 h               2020-3-2              28 km ; 01:30:21 h
50 km                  02:12:18 h               2020-4-8              78 km ; 

这是代码:

all_distances = []

with open("Bike rides.txt", "r") as f:
   lines = f.readlines()

   for l in lines[1:]:
       all_distances.append(l.split()[0])

print(all_distances)

我得到的错误是这样的:

IndexError: list index out of range

标签: pythonpython-3.x

解决方案


考虑到您有空格分隔符,您可以使用string.split()方法分隔列。下面是它的应用示例。

column = 0  # First column
with open("data.txt") as file:
  data = file.readlines()
columns = list(map(lambda x: x.strip().split()[column], data))

推荐阅读