如何在csv-fi中连接行

2024-05-20 00:01:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv文件,格式如下(1000行):

What, WP
makes, VBZ
them, PRP
do, VB

它是单词和标记,我想把标记连接起来,使图形的边例如边应该是。。在

^{pr2}$

等等。。到目前为止,我只能在一个列表中拆分标记

files = glob.glob('C:/Users/Sebastian/Desktop/nodos/*.csv')

  for path in files:
     dirname, filename = os.path.split(path)
     with open('C:/Users/Sebastian/Desktop/nodos/%s' %filename) as 
     csvfile,open('C:/Users/Sebastian/Desktop/aristas/%s' %filename,'w') as 
     output:   
    csv_reader = csv.reader(csvfile, delimiter=',')
    for row in csv_reader:          
         output.write(row[1])                   
         output.write('\n')

我明白了

WP
VBZ
PRP
VB
...

Tags: csvpath标记outputfilesfilenamesebastianusers
2条回答
files = glob.glob('C:/Users/Sebastian/Desktop/nodos/*.csv')

  for path in files:
     dirname, filename = os.path.split(path)
     with open('C:/Users/Sebastian/Desktop/nodos/%s' %filename) as 
     csvfile,open('C:/Users/Sebastian/Desktop/aristas/%s' %filename,'w') as 
     output:   
    csv_reader = csv.reader(csvfile, delimiter=',')

    isFirstRow = True;
    for row in csv_reader:  
         if isFirstRow:
           prevRow1 = row[1]
           isFirstRow = False
         else:        
           output.write(prevRow1 + ',' + row[1])                   
           output.write('\n')
           prevRow1 = row[1]

你可以这样做:

out = []
prev = None
for row in list(csv_reader):
    if prev is not None: out.append(prev + "," + row[1])
    prev = row[1]

对于包含以下内容的csv文件:

^{pr2}$

输出

^{3}$

然后您可以简单地做,output.writelines(out)来将这个写到文件中(就在上面的for循环之后)。在

相关问题 更多 >