现在我想根据C列中的数据编辑文件(迟到的数字):
我想根据C列中的值复制文件中的每一行,并将它们插入原始记录的正下方,如下图所示,
也就是说,复制次数取决于C列中的值:
汤姆迟到了2次,所以我想要他总共有2行记录,
杰克刚来晚了一次,他的记录仍然是一次(排),
简来了3次,我希望她的记录总共有3行。
我怎么能实现这个目标?我可以这样做只使用Excel本身,还是应该使用其他计算机语言,如Python?请给我一些建议,谢谢。
答案 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)