如何根据一列中特定单元格的值插入已删除的行

时间:2016-04-19 13:38:01

标签: python excel insert copy

作为标题,我有一个包含下面照片等数据的Excel文件, enter image description here

现在我想根据C列中的数据编辑文件(迟到的数字)

我想根据C列中的值复制文件中的每一行,并将它们插入原始记录的正下方,如下图所示,

enter image description here

也就是说,复制次数取决于C列中的值:

汤姆迟到了2次,所以我想要他总共有2行记录,

杰克刚来晚了一次,他的记录仍然是一次(排),

简来了3次,我希望她的记录总共有3行。

我怎么能实现这个目标?我可以这样做只使用Excel本身,还是应该使用其他计算机语言,如Python?请给我一些建议,谢谢。

1 个答案:

答案 0 :(得分:0)

如果您想使用Python,这将从您的CSV中读取,写入临时文件,然后在最后覆盖原始文件。这样做的代码是从https://stackoverflow.com/a/16020923/2766903借来的 你只需要为每个迟到的数字写入每一行1次。

from tempfile import NamedTemporaryFile
import shutil
import csv

filename = 'path-to-excel-file.csv'
tempfile = NamedTemporaryFile(delete=False)

with open(filename, 'rb') as csvFile, tempfile:
    reader = csv.reader(csvFile, delimiter=',', quotechar='"')
    writer = csv.writer(tempfile, delimiter=',', quotechar='"')

    for row in reader:
        late_count = int(row['Numbers of coming late'])
        for i in range(0, late_count):
            writer.writerow(row)

shutil.move(tempfile.name, filename)