阅读csv文件,并使用python写入另一个文件

问题描述:

嗨,我是python的新手,我想编写一个程序,它将读取csv文件并将数据写入另一个文件。阅读csv文件,并使用python写入另一个文件

下面是代码:

#!/usr/bin/python 

import csv 

FEED_FILE = '/proj/ctc/temp/sanjay/REC-754/20170529_MUREX_EOD_REC_RATES_20170531.csv' 
OUT_FILE = '/proj/ctc/temp/sanjay/REC-754/20170529_MUREX_EOD_REC_RATES_20170531_out.csv' 

with open(OUT_FILE, 'w', newline='') as outputfile: 
    with open(FEED_FILE, newline='') as feed: 
    writer = csv.writer(outputfile, delimiter=',', quotechar='"') 
     reader = csv.reader(feed, delimiter=',', quotechar='"') 
     for row in reader: 
     row[3] = sorted(list(row[3].split(',')) 
       writer.writerow(row) 

,但我得到下面的错误,对此我无法理解为什么呢?

$./Csvreader.py 
    File "./Csvreader.py", line 14 
    writer.writerow(row) 
     ^
SyntaxError: invalid syntax 

请帮助我的解决方案,在此先感谢。

+3

请检查压痕。 – Arun

+2

检查前一行的括号。你忘记关闭'sorted(...' –

问题在于缩进!

with open(OUT_FILE, 'w', newline='') as outputfile: 
    with open(FEED_FILE, newline='') as feed: 
     writer = csv.writer(outputfile, delimiter=',', quotechar='"') 
     reader = csv.reader(feed, delimiter=',', quotechar='"') 
     for row in reader: 
      row[3] = sorted(list(row[3].split(',')) 
      writer.writerow(row) 

编辑: 为您更新的问题,还有一个问题,压痕再次!

  row[3] = sorted(list(row[3].split(',')) 
       writer.writerow(row) 

应该

   row[3] = sorted(list(row[3].split(',')) 
       writer.writerow(row) 
+1

在这种情况下会抛出一个不同的错误,如果你看,前一行的'sorted'调用缺少右括号 –

+0

感谢您的回应。代码也会给出相同的错误 – user2779202

试试下面的代码:

with open(OUT_FILE, 'w', newline='') as outputfile: 
    with open(FEED_FILE, newline='') as feed: 
     writer = csv.writer(outputfile, delimiter=',', quotechar='"') 
     reader = csv.reader(feed, delimiter=',', quotechar='"') 
     for row in reader: 
      row[3] = sorted(list(row[3].split(','))) 
      writer.writerow(row)