我有一个包含几个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))
问题是,这样它只能读取第一行而不是所有行。 如何在每个文件中的每一行上进行迭代?
谢谢
答案 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])