将文件读入Python字典,然后写入文件
我有一个多行、多列的文本文件。如果这很重要的话,有一个标题。希望将所有数据读入Python字典,然后在文件中再次写出。我最终想从两个文件中创建两个字典,在键上连接它们,然后打印出连接的版本,但我甚至不能正确处理这部分。这就是我得到的:将文件读入Python字典,然后写入文件,python,file-io,Python,File Io,我有一个多行、多列的文本文件。如果这很重要的话,有一个标题。希望将所有数据读入Python字典,然后在文件中再次写出。我最终想从两个文件中创建两个字典,在键上连接它们,然后打印出连接的版本,但我甚至不能正确处理这部分。这就是我得到的: import sys import csv from collections import defaultdict usage = "usage: python Newer.py <project_file> <table_file> &
import sys
import csv
from collections import defaultdict
usage = "usage: python Newer.py <project_file> <table_file> <outfile>"
if len(sys.argv) != 4:
print usage
sys.exit(0)
project = open(sys.argv[1], "rb")
table = open(sys.argv[2], "rb")
outfile = open(sys.argv[3], "w")
projectdict = defaultdict(list)
for line in project:
parts = line.strip().split("\t")
first = parts[1]
projectdict[first].append(line)
for key in projectdict:
outfile.write(" ".join(projectdict[first]) + "\n")
导入系统
导入csv
从集合导入defaultdict
用法=“用法:python Newer.py”
如果len(sys.argv)!=4:
打印使用
系统出口(0)
项目=打开(sys.argv[1],“rb”)
表=打开(sys.argv[2],“rb”)
outfile=open(sys.argv[3],“w”)
projectdict=defaultdict(列表)
对于项目中的线路:
parts=line.strip().split(“\t”)
第一个=零件[1]
projectdict[first]。追加(行)
对于项目目录中的键:
outfile.write(“.join(projectdict[first])+”\n)
我从中得到的是一个文本文件,它的条目与文本文件中的条目相同,并反复重复。问题是,无论实际的键是什么,每次都要在第二个循环中的键“first”处写入值。我相信这会解决你的问题
for key in projectdict:
outfile.write(" ".join(projectdict[key]) + "\n")
你们能不能加上一点预期的和实际的输出,让它更清楚地说明发生了什么