使用python拆分2个单词的单元格并插入新行



我是Python的新手。我搜索了数据库,没有找到问题的确切答案。这是我的基本问题:

我有一个CSV文件的形式:

Header1,        Header2,             Header3   
1,                a,                DF FD CN 
2,                 b,               DD FD CN  

我需要以以下形式写成csv:我想在Header 3列的第二个空格上拆分,而不是Header 3栏的第一个空格。

Header1,     Header2,     Header3  
1,             a,         DF  FD
1,             a,         FD  CN
2,             b,         DD  FD
2,             b,         FD  CN

现在我带着我的代码在这里:

import csv  
import sys
import codecs
import re
splitColIndex = 0
with open('output.txt', 'w') as f2:
with open('input.txt') as f:  
reader = csv.reader(f, delimiter = ':')   
for row in reader:
# Get the element that needs splitting
splitElem = (row[splitColIndex])
A=splitElem.split()
for f in sorted(set(A)):
print(f+':'+row[1]+'n')
f2.close()

我现在的问题是,如何在第二个空间分割第三列中的空格分隔值,并获得我想要实现的输出?我的实际文件更复杂,但我认为这个问题的答案会让我朝着正确的方向前进。

import csv  
import sys
import codecs
import re
# Index (starts at 0) of the column that needs to be split up
splitColIndex = 2
with open('output.txt', 'w') as f2:
with open('input.txt') as f:  
reader = csv.reader(f, delimiter = ':')   
for row in reader:
# Get the element that needs splitting
splitElem = (row[splitColIndex])
words=splitElem.split()
k=[words[index]+' '+words[index+1] for index in xrange(len(words)-1)]
for f1 in k:
print(f1)
f2.write(f1+':'+row[1]+'n')
f2.close()

最新更新