从文本fi的每一行的特定位置提取数据

2024-10-03 23:20:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用以下导入的文本文件:

url = 'https://www2.census.gov/programs-surveys/saipe/datasets/2016/2016-state-and-county/est16all.txt'
url_get.urlretrieve(url, 'poverty.txt')

我想提取文本文件中从49开始的每一行的部分,最多8个字符。所以我尝试以下方法:

^{pr2}$

但是,输出只是重复txt文件第一行的值,以获得文件中的行数。这显然是不正确的。在

14115713
14115713
14115713
14115713
14115713
14115713
14115713
14115713

如何构造循环以从第50位的每条行提取值?在


Tags: and文件httpstxturldatasetsgovstate
3条回答

您希望对open file对象使用readlines方法,然后将行字符串切片:

with open('poverty.txt', 'r') as data:
    for line in data.readlines():
        print(line[49:57])

如果您正在查找此数据的第9个元素,则可以使用

 with open('est16all.txt') as fd:
   for line in fd:
     print (line.split()[8])

或者假设你想用49到49+8的切片

^{pr2}$

输出样本:

[root@bazooka2 ha_vxt]# python find_missing.py | more
14115713
267674
2588
7881
2146
1263
2568
995

如果我正确地理解了您的问题,您可以尝试以下方法:

In [01]: with open('something.txt', 'r') as data:
    ...:     for line in data:
    ...:         print(line[48:57])

您使用line来迭代data,但随后您将在每个循环中将数据查找到49,并反复读取相同的8个字符,以了解文件的行数。在

相关问题 更多 >