2013-09-24 51 views
0

我有一个csv文件与多个列,我想添加一列的内容到相邻的列,如果它是空白的。为什么不插入?

import csv 
with open("new.csv", "r+b") as f: 
reader = csv.reader(f) 
for rows in reader: 
    if rows[4] == "": 
     rows.insert(5,rows[3]) 
+5

读者不写..检查这篇文章作为参考; http://stackoverflow.com/questions/14978575/writing-reading-the-same-csv-file-in-python – karthikr

回答

0
with open('i.csv', 'r') as f: 
    reader = csv.reader(f) 
    my_list = [] 
    for rows in reader: 
     sub_list = [] 
     for item in rows: 
      # Replace even values by 0 
      # This can be changed to do something else 
      if int(item) % 2 == 0: 
       item = 0 
      sub_list.append(item) 
     my_list.append(sub_list)  

print my_list 
# output 
#[['1', 0, '3', 0], 
#[0, '3', 0, '5'], 
#['5', 0, '7', 0], 
#['9', 0, '11', 0], 
#['13', 0, '15', 0]] 

# Write the modified content to the same file 
with open('i.csv', 'w') as f: 
    writer = csv.writer(f) 
    for row in my_list: 
     writer.writerow(row) 




# Read it to see if it worked 
with open('i.csv', 'r') as f: 
    for line in f.readlines(): 
     print line 

# output 
# 1,0,3,0 
# 0,3,0,5 
# 5,0,7,0 
# 9,0,11,0 
# 13,0,15,0 

我在该脚本做的事情是我全部换成了偶数0,但你可以简单地改变了他们。