Limesurvey的子问题可以通过快速添加的方式批量生成,见下图
limesurvey-insert-subquestions.png
每个子问题为一行,编号和子问题的内容之间用英文分号分隔。之前都是采用EXCEL导入文本,然后用下拉生成序列的方式添加编号,而后再生成为csv文件——只是csv文件的分隔符为英文逗号,所以还要再通过文本编辑器的查找替换功能将英文逗号改成英文分号,最后才是复制到Limesurvey的快速添加中去。
要说复杂呢也还行,花不了多少时间,所以没什么心思去倒腾更简便的方法。
最近正好在学Python,貌似处理这种问题对它来说也是小菜一碟,何不用它来实现我想要的功能呢?
问卷的子问题都是现成的,我的诉求无非就是在前面加上编号,以我目前的菜鸟水平自己写代码有点难,不如网上搜一段修改一下好了。
最终的代码如下:

def print_to_file(fname):
    num = 1
    #output_file=open(fname+"子问题.txt","w")

    with open(fname+"子问题.txt","w",encoding='utf-8') as output_file:
        with open(fname, encoding='utf-8') as input_file:
            for line in input_file:
                output_file.write('SQ' + '%02d'%num + ';' + line)
                num = num + 1

while True:
    fileName=input("请输入待格式化代码源文件名(含扩展名):")
    #print_to_file("test.cpp")
    print_to_file(fileName)
    kkk=input("文件格式化输出工作已经完成。是否需要继续格式化其他文件?(Y/N):")
    if kkk=='N' or kkk=='n':
        break

运行起来也很方便,输入文件名之后就自动添加编号了。
果然是“人生苦短,我用Python!”

最后修改:2021 年 03 月 20 日
如果觉得我的文章对你有用,请随意赞赏