Python - 从文件中读取行并将其拆分

时间:2013-07-19 08:27:23

标签: python arrays file split

我正在尝试从本地存储的.txt文件中拆分行。我做了一个for循环,但我想在数组上的特定索引上启动循环。例如:

  file_content = open('files/filefinal1_test.txt')
  counter = 0
  total_lines = 0
  global l
  index = 0 if l == "" else file_content.index(l)

  for line in file_content[index:]: 
    l = line
    array_line =line.split('", "')
    array_line[0] = array_line[0].replace('"', '')
    array_line[1] = array_line[1].replace('"', '')
    array_line[2] = array_line[2].replace('"', '')
    array_line[3] = array_line[3].replace('"', '')
    if (send_req(papi, array_line) == 1): 
        counter = counter + 1 
    total_lines = total_lines + 1

这给了我错误:file_content [index:]有没有办法从file_content启动特定行的循环?

以下代码的工作原理是循环数组:

for line in file_content: 
        l = line
        array_line =line.split('", "')
        array_line[0] = array_line[0].replace('"', '')
        array_line[1] = array_line[1].replace('"', '')
        array_line[2] = array_line[2].replace('"', '')
        array_line[3] = array_line[3].replace('"', '')
        if (send_req(papi, array_line) == 1): 
            counter = counter + 1 
        total_lines = total_lines + 1

有人可以帮我吗?

3 个答案:

答案 0 :(得分:3)

我得到了答案!我没有调用方法.readlines()

file_content = file_content.readlines()
for lines in file_content[0:]:
     #stuff

答案 1 :(得分:2)

您可以使用lines = open(filepath, 'rb').readlines()获取字符串列表,其中每个字符串都是文件中的一行。然后,您可以在任何您想要获取您感兴趣的行的索引处对列表进行切片,如下所示:wanted_lines = lines[index:]这将获取从索引到文件末尾的所有行。

答案 2 :(得分:0)

您可以使用islice模块中的itertools在文件(或任何可迭代的)上创建切片:

import itertools
with open('file') as f:
    for line in itertools.islice(f, 3, 5): # 3 and 5 are the start and stop points
        print line

http://docs.python.org/2/library/itertools.html#itertools.islice 更多