【问题标题】:Copy col in csv to another csv and insert 3 blanks rows after each row将 csv 中的列复制到另一个 csv 并在每行之后插入 3 个空白行
【发布时间】:2019-05-22 07:24:50
【问题描述】:

我对 python 很陌生。虽然我已经阅读了数百篇关于将列从一个 csv 复制到另一个 csv 的帖子,但我仍然无法得到正确的结果。

我想要:1. 将第 5 列从文件 a 复制到文件 b。 2. 每行后插入3个空白行

例如,如果第 5 列有:

1
2
3

我想要:

1
blank
blank
blank
2
blank
blank
blank
3
blank
blank
blank

我写了一些东西,但不确定它是否正确:

 with open (score_data,'rb') as a, open(new_score,'wb') as b:
    ca=csv.reader(a)
    ca_rows=list(a)
    cb=csv.writer(b)

    for line, row in enumerate(a,start=1):
        b.writerow([row[0],row[0]])

        if line % 4 == 0:
            b.writerrow([])

谢谢你帮助我

编辑: 谢谢穆斯特曼。我想知道如何在复制原始数据后添加三个空白行:

     with open (score_data) as a, open(new_score,'w') as b:
            b.write(next(a))
            ca=csv.reader(a, delimiter=',')
            ca_rows=list(a)
            cb=csv.writer(b)

            for row in range(len(ca_rows)):
                cb.writerow(([" "]*3)+[ca_rows[row][-2]]) # replace -2 with actual col if delimiter is working
                cb.writerow([" "]*3)

但是,数据已复制到新文件的第 4 列。我希望将数据复制到新文件的第 6 列。任何想法?谢谢

另一个问题:我修改后的代码能够复制数字但不能复制任何单词。 例如,如果我的输入文件显示:

1
2
MO
3

现在输出显示:

1
blank
blank
blank
2
blank
blank
blank
O
blank
blank
blank

知道为什么吗?谢谢

【问题讨论】:

    标签: python-3.x csv


    【解决方案1】:

    首先这是一个不完整的答案,因为我无法从 termux(android) 得到这个工作

    .py

    score_data="s.csv"
    new_score="n.csv"
    import csv
    
    with open (score_data) as a, open(new_score,'w') as b:
        ca=csv.reader(a, delimiter=',')
        ca_rows=list(a)
        cb=csv.writer(b)
    
        for row in range(len(ca_rows)):
            cb.writerow((["blank"]*4)+[ca_rows[row][-2]])# replace -2 with actual col if delimiter is working
            cb.writerow(["blank"]*5)
            cb.writerow(["blank"]*5)
            cb.writerow(["blank"]*5)
    

    我无法让这个分隔符工作 但我想你可能明白了

    s.csv

    b ,b ,b ,b ,1
    b ,b ,b ,b ,2
    b ,b ,b ,b ,3
    

    n.csv

    blank,blank,blank,blank,1
    blank,blank,blank,blank,blank
    blank,blank,blank,blank,blank
    blank,blank,blank,blank,blank
    blank,blank,blank,blank,2
    blank,blank,blank,blank,blank
    blank,blank,blank,blank,blank
    blank,blank,blank,blank,blank
    blank,blank,blank,blank,3
    blank,blank,blank,blank,blank
    blank,blank,blank,blank,blank
    blank,blank,blank,blank,blank
    

    【讨论】:

    • 谢谢。我得到了部分脚本。我的脚本现在将原始文件第 5 列中的内容复制到新文件中的第 4 列。任何想法?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 2021-07-07
    • 2016-06-26
    • 1970-01-01
    相关资源
    最近更新 更多