如何在循环中读取txt文件中的多行?

时间:2015-07-17 16:27:36

标签: python-3.x for-loop text

我有一个包含几个txt.files的目录。我只对每行的前7个字符感兴趣。我创建了一个字典,它将文件名称作为键,并将每个文件中每行的前7个字符作为值。然后,我为下面的循环做了2次:

files = glob.glob('/Users/andreasportelli/Desktop/sqldata/*')

customer = {"customer_id":[],"order_id":[]}  #create a dictionary

for file in files:
     x = open(file, 'r', encoding='ascii', errors='replace')
     customer["customer_id"].append(str(file))                   


for file in files:
     x = open(file, 'r', encoding='ascii', errors='replace')
     customer["order_id"].append(x.readline(7))

问题是,这样它只能读取第一行而不是所有行。 如何在每个文件中的每一行上进行迭代?

谢谢

1 个答案:

答案 0 :(得分:0)

您只需要循环文件名一次,然后使用嵌套循环来抓取文件中的每一行。希望有所帮助!

files = glob.glob('/Users/andreasportelli/Desktop/sqldata/*')

customer = {"customer_id":[],"order_id":[]}  #create a dictionary

for file in files:
    customer["customer_id"].append(file)                   
    for line in open(file, 'r', encoding='ascii', errors='replace'):
        customer["order_id"].append(line[:7])