【问题标题】:Why does this not insert?为什么这个不插入?
【发布时间】:2013-09-24 13:44:13
【问题描述】:

我有一个包含多列的 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])

【问题讨论】:

标签: python csv insert


【解决方案1】:
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,但您可以简单地更改它们。

【讨论】:

    猜你喜欢
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    • 2017-06-19
    相关资源
    最近更新 更多