我有不同的文本文件,我想从那里提取值到一个csv文件。 每个文件的格式如下将文本文件提取到python中的多列
main cost: 30
additional cost: 5
我能够做到这一点,但问题是我希望它的每个文件的值插入到一个不同的列我也想文本文件的数量是用户争论
这是我现在在做什么
numFiles = sys.argv[1]
d = [[] for x in xrange(numFiles+1)]
for i in range(numFiles):
filename = 'mytext' + str(i) + '.text'
with open(filename, 'r') as in_file:
for line in in_file:
items = line.split(' : ')
num = items[1].split('\n')
if i ==0:
d[i].append(items[0])
d[i+1].append(num[0])
grouped = itertools.izip(*d[i] * 1)
if i == 0:
grouped1 = itertools.izip(*d[i+1] * 1)
with open(outFilename, 'w') as out_file:
writer = csv.writer(out_file)
for j in range(numFiles):
for val in itertools.izip(d[j]):
writer.writerow(val)
这就是我现在得到,一切都在一列
main cost
additional cost
30
5
40
10
,我想这是
main cost | 30 | 40
additional cost | 5 | 10
你试图使用的元组? –
最后一列来自期望输出的位置?每个输入文件中只有两行? – wwii
我假设输入文件看起来像: 主要成本:30 额外费用:5 主要成本:40 额外费用:10个 – Michael