change import and add three relation calculation function for the analysis

This commit is contained in:
zhangxunhui 2021-07-14 06:55:20 +08:00
parent 01a5769b7a
commit ca299842b1
2 changed files with 469 additions and 4 deletions

View File

@ -0,0 +1,235 @@
{
"metadata": {
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
},
"orig_nbformat": 4,
"kernelspec": {
"name": "python3",
"display_name": "Python 3.8.5 64-bit ('base': conda)"
},
"interpreter": {
"hash": "b3ba2566441a7c06988d0923437866b63cedc61552a5af99d1f4fb67d367b25f"
}
},
"nbformat": 4,
"nbformat_minor": 2,
"cells": [
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"64.9\n63.1\n60.6\n39.9\n28.9\n21.8\n18.8\n13.1\n1.9\n"
]
}
],
"source": [
"# 统计reasons for maintainer\n",
"# author: zxh\n",
"# date: 2021-07-13\n",
"import pymysql, yaml\n",
"from utils import *\n",
"import seaborn as sns\n",
"import pandas as pd\n",
"from matplotlib import pyplot as plt\n",
"\n",
"f = open('config.yaml', 'r')\n",
"config = yaml.load(f.read(), Loader=yaml.BaseLoader)\n",
"conn = connectMysqlDB(config, autocommit = False)\n",
"cur = conn.cursor(pymysql.cursors.DictCursor)\n",
"\n",
"all_reasons = [\n",
" \"It allows users of my projects to express thanks/appreciation\",\n",
" \"Sponsorship can motivate my future OSS contribution\",\n",
" \"Side income for OSS contribution\",\n",
" \"It can reflect community recognition for my work\",\n",
" \"Just for fun\",\n",
" \"I deserve to be rewarded for my past OSS contribution\",\n",
" \"I am able to prioritize the requirements of sponsors (e.g., fixing bugs)\",\n",
" \"Its a way for me to make a living\",\n",
" \"Other\"\n",
"]\n",
"\n",
"cur.execute(\"select count(distinct login) as num from questionnaire_results_maintainer_2_set_up_reasons where value is not null\")\n",
"all_num = cur.fetchone()[\"num\"]\n",
"\n",
"for reason in all_reasons:\n",
" if reason == \"Other\":\n",
" cur.execute(\"select count(distinct login) as num from questionnaire_results_maintainer_2_set_up_reasons where value like 'Other (please specify)%'\")\n",
" num = cur.fetchone()[\"num\"]\n",
" else:\n",
" cur.execute(\"select count(distinct login) as num from questionnaire_results_maintainer_2_set_up_reasons where value=%s\", (reason,))\n",
" num = cur.fetchone()[\"num\"]\n",
" print(round(num / all_num * 100, 1))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"85.8\n78.4\n69.5\n49.0\n9.4\n8.9\n1.0\n"
]
}
],
"source": [
"# 统计reasons for sponsors\n",
"# author: zxh\n",
"# date: 2021-07-13\n",
"import pymysql, yaml\n",
"from utils import *\n",
"import seaborn as sns\n",
"import pandas as pd\n",
"from matplotlib import pyplot as plt\n",
"\n",
"f = open('config.yaml', 'r')\n",
"config = yaml.load(f.read(), Loader=yaml.BaseLoader)\n",
"conn = connectMysqlDB(config, autocommit = False)\n",
"cur = conn.cursor(pymysql.cursors.DictCursor)\n",
"\n",
"all_reasons = [\n",
" \"Because I benefit from the developers projects\",\n",
" \"To encourage the developer to continue the contribution\",\n",
" \"To show my recognition of the developers work\",\n",
" \"Because Im interested in the developers projects\",\n",
" \"To motivate the developer to work harder on a specific feature\",\n",
" \"Because I know the developer\",\n",
" \"Other\"\n",
"]\n",
"\n",
"cur.execute(\"select count(distinct login) as num from questionnaire_results_sponsor_2_sponsor_reasons where value is not null\")\n",
"all_num = cur.fetchone()[\"num\"]\n",
"\n",
"for reason in all_reasons:\n",
" if reason == \"Other\":\n",
" cur.execute(\"select count(distinct login) as num from questionnaire_results_sponsor_2_sponsor_reasons where value like 'Other (please specify)%'\")\n",
" num = cur.fetchone()[\"num\"]\n",
" else:\n",
" cur.execute(\"select count(distinct login) as num from questionnaire_results_sponsor_2_sponsor_reasons where value=%s\", (reason,))\n",
" num = cur.fetchone()[\"num\"]\n",
" print(round(num / all_num * 100, 1))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"39.3\n38.3\n28.4\n26.4\n8.5\n2.0\n10.4\n"
]
}
],
"source": [
"# 统计reasons for others\n",
"# author: zxh\n",
"# date: 2021-07-13\n",
"import pymysql, yaml\n",
"from utils import *\n",
"import seaborn as sns\n",
"import pandas as pd\n",
"from matplotlib import pyplot as plt\n",
"\n",
"f = open('config.yaml', 'r')\n",
"config = yaml.load(f.read(), Loader=yaml.BaseLoader)\n",
"conn = connectMysqlDB(config, autocommit = False)\n",
"cur = conn.cursor(pymysql.cursors.DictCursor)\n",
"\n",
"all_reasons = [\n",
" \"No need to be sponsored\",\n",
" \"I contribute to OSS not for money\",\n",
" \"My work is not worth being sponsored\",\n",
" \"Never heard of it\",\n",
" \"Its cumbersome\",\n",
" \"Not available in my region\",\n",
" \"Other\"\n",
"]\n",
"\n",
"cur.execute(\"select count(distinct login) as num from questionnaire_results_others_2_not_set_reasons where value is not null\")\n",
"all_num = cur.fetchone()[\"num\"]\n",
"\n",
"for reason in all_reasons:\n",
" if reason == \"Other\":\n",
" cur.execute(\"select count(distinct login) as num from questionnaire_results_others_2_not_set_reasons where value like 'Other (please specify)%'\")\n",
" num = cur.fetchone()[\"num\"]\n",
" else:\n",
" cur.execute(\"select count(distinct login) as num from questionnaire_results_others_2_not_set_reasons where value=%s\", (reason,))\n",
" num = cur.fetchone()[\"num\"]\n",
" print(round(num / all_num * 100, 1))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 计算选项之间的相关性(即选择一个选项的人多大概率会选择另外一个选项)\n",
"# author: zxh\n",
"# date: 2021-07-14\n",
"import pymysql, yaml\n",
"from utils import *\n",
"import seaborn as sns\n",
"import pandas as pd\n",
"from matplotlib import pyplot as plt\n",
"\n",
"f = open('config.yaml', 'r')\n",
"config = yaml.load(f.read(), Loader=yaml.BaseLoader)\n",
"conn = connectMysqlDB(config, autocommit = False)\n",
"cur = conn.cursor(pymysql.cursors.DictCursor)\n",
"\n",
"def upsetplot(table_name):\n",
" cur.execute(\"select value from \" + table_name + \" where value is not null\")\n",
" items = cur.fetchall()\n",
" for item in items:\n",
" if item.startswith(\"Other (please specify)\"):\n",
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 查看一个题的选择会与下一个题目之间的选择有没有关系桑基图例如self-description与参与原因之间的关系\n",
"# author: zxh\n",
"# date: 2021-07-14\n",
"\n",
"def sankeyplot(table_name_list, column_names)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 计算开发者活跃度与开发者描述或者参与动机之间的关系cramer's V等例如是不是参与动机为获得金钱的更加活跃\n",
"# author: zxh\n",
"# date: 2021-07-14"
]
}
]
}

View File

@ -270,13 +270,243 @@ def import_one_file(file_path, which_round, which_type):
files = [
("C:\\Users\\zhang\\Documents\\Trustie-on-blockchain\\papers\\CSCW-2021-sponsor-assist\\questionnaire\\second round\\results\\csv\\2021-07-10\\maintainer.csv", 2, "maintainer"),
("C:\\Users\\zhang\\Documents\\Trustie-on-blockchain\\papers\\CSCW-2021-sponsor-assist\\questionnaire\\second round\\results\\csv\\2021-07-10\\sponsor.csv", 2, "sponsor"),
("C:\\Users\\zhang\\Documents\\Trustie-on-blockchain\\papers\\CSCW-2021-sponsor-assist\\questionnaire\\second round\\results\\csv\\2021-07-10\\others.csv", 2, "others"),
("C:\\Users\\zhang\\Documents\\Trustie-on-blockchain\\papers\\CSCW-2021-sponsor-assist\\questionnaire\\second round\\results\\csv\\2021-07-13\\maintainer.csv", 2, "maintainer"),
("C:\\Users\\zhang\\Documents\\Trustie-on-blockchain\\papers\\CSCW-2021-sponsor-assist\\questionnaire\\second round\\results\\csv\\2021-07-13\\sponsor.csv", 2, "sponsor"),
("C:\\Users\\zhang\\Documents\\Trustie-on-blockchain\\papers\\CSCW-2021-sponsor-assist\\questionnaire\\second round\\results\\csv\\2021-07-13\\others.csv", 2, "others"),
("C:\\Users\\zhang\\Documents\\Trustie-on-blockchain\\papers\\CSCW-2021-sponsor-assist\\questionnaire\\first round\\results\\csv\\2021-07-10\\maintainer.csv", 1, "maintainer"),
("C:\\Users\\zhang\\Documents\\Trustie-on-blockchain\\papers\\CSCW-2021-sponsor-assist\\questionnaire\\first round\\results\\csv\\2021-07-10\\sponsor.csv", 1, "sponsor"),
("C:\\Users\\zhang\\Documents\\Trustie-on-blockchain\\papers\\CSCW-2021-sponsor-assist\\questionnaire\\first round\\results\\csv\\2021-07-10\\others.csv", 1, "others")
]
for f in files:
import_one_file(f[0], f[1], f[2])
import_one_file(f[0], f[1], f[2])
# code the textual comments
# author: zxh
# date: 2021-07-13
cur.execute("truncate table questionnaire_comment_code")
# maintainer comments
# 1. questionnaire_results_maintainer_1_basic, self_description
cur.execute("select id, login, self_description from questionnaire_results_maintainer_1_basic where self_description like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_maintainer_1_basic", item["id"], "self_description", item["login"], item["self_description"], None))
# 2. questionnaire_results_maintainer_1_basic, set_up_reasons
cur.execute("select id, login, set_up_reasons from questionnaire_results_maintainer_1_basic where set_up_reasons is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_maintainer_1_basic", item["id"], "set_up_reasons", item["login"], item["set_up_reasons"], None))
# 3. questionnaire_results_maintainer_1_basic, how_get_more
cur.execute("select id, login, how_get_more from questionnaire_results_maintainer_1_basic where how_get_more is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_maintainer_1_basic", item["id"], "how_get_more", item["login"], item["how_get_more"], None))
# 4. questionnaire_results_maintainer_1_basic, shortcomings
cur.execute("select id, login, shortcomings from questionnaire_results_maintainer_1_basic where shortcomings is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_maintainer_1_basic", item["id"], "shortcomings", item["login"], item["shortcomings"], None))
# 5. questionnaire_results_maintainer_1_basic, improve_ways
cur.execute("select id, login, improve_ways from questionnaire_results_maintainer_1_basic where improve_ways is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_maintainer_1_basic", item["id"], "improve_ways", item["login"], item["improve_ways"], None))
# 5. questionnaire_results_maintainer_1_basic, else_to_tell
cur.execute("select id, login, else_to_tell from questionnaire_results_maintainer_1_basic where else_to_tell is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_maintainer_1_basic", item["id"], "else_to_tell", item["login"], item["else_to_tell"], None))
# 6. questionnaire_results_maintainer_2_basic, self_description
cur.execute("select id, login, self_description from questionnaire_results_maintainer_2_basic where self_description like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_maintainer_2_basic", item["id"], "self_description", item["login"], item["self_description"], None))
# 7. questionnaire_results_maintainer_2_basic, else_to_tell
cur.execute("select id, login, else_to_tell from questionnaire_results_maintainer_2_basic where else_to_tell is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_maintainer_2_basic", item["id"], "else_to_tell", item["login"], item["else_to_tell"], None))
# 8. questionnaire_results_maintainer_2_how_get_more, value
cur.execute("select id, login, value from questionnaire_results_maintainer_2_how_get_more where value like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_maintainer_2_how_get_more", item["id"], "value", item["login"], item["value"], None))
# 9. questionnaire_results_maintainer_2_set_up_reasons, value
cur.execute("select id, login, value from questionnaire_results_maintainer_2_set_up_reasons where value like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_maintainer_2_set_up_reasons", item["id"], "value", item["login"], item["value"], None))
# 10. questionnaire_results_maintainer_2_shortcomings, value
cur.execute("select id, login, value from questionnaire_results_maintainer_2_shortcomings where value like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_maintainer_2_shortcomings", item["id"], "value", item["login"], item["value"], None))
# sponsor comments
# 1. questionnaire_results_sponsor_1_basic, self_description
cur.execute("select id, login, self_description from questionnaire_results_sponsor_1_basic where self_description like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_sponsor_1_basic", item["id"], "self_description", item["login"], item["self_description"], None))
# 2. questionnaire_results_sponsor_1_basic, sponsor_reasons
cur.execute("select id, login, sponsor_reasons from questionnaire_results_sponsor_1_basic where sponsor_reasons is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_sponsor_1_basic", item["id"], "sponsor_reasons", item["login"], item["sponsor_reasons"], None))
# 3. questionnaire_results_sponsor_1_basic, sponsor_kinds
cur.execute("select id, login, sponsor_kinds from questionnaire_results_sponsor_1_basic where sponsor_kinds is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_sponsor_1_basic", item["id"], "sponsor_kinds", item["login"], item["sponsor_kinds"], None))
# 4. questionnaire_results_sponsor_1_basic, shortcomings
cur.execute("select id, login, shortcomings from questionnaire_results_sponsor_1_basic where shortcomings is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_sponsor_1_basic", item["id"], "shortcomings", item["login"], item["shortcomings"], None))
# 5. questionnaire_results_sponsor_1_basic, improve_ways
cur.execute("select id, login, improve_ways from questionnaire_results_sponsor_1_basic where improve_ways is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_sponsor_1_basic", item["id"], "improve_ways", item["login"], item["improve_ways"], None))
# 5. questionnaire_results_sponsor_1_basic, else_to_tell
cur.execute("select id, login, else_to_tell from questionnaire_results_sponsor_1_basic where else_to_tell is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_sponsor_1_basic", item["id"], "else_to_tell", item["login"], item["else_to_tell"], None))
# 6. questionnaire_results_sponsor_2_basic, self_description
cur.execute("select id, login, self_description from questionnaire_results_sponsor_2_basic where self_description like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_sponsor_2_basic", item["id"], "self_description", item["login"], item["self_description"], None))
# 7. questionnaire_results_sponsor_2_basic, else_to_tell
cur.execute("select id, login, else_to_tell from questionnaire_results_sponsor_2_basic where else_to_tell is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_sponsor_2_basic", item["id"], "else_to_tell", item["login"], item["else_to_tell"], None))
# 8. questionnaire_results_sponsor_2_sponsor_kinds, value
cur.execute("select id, login, value from questionnaire_results_sponsor_2_sponsor_kinds where value like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_sponsor_2_sponsor_kinds", item["id"], "value", item["login"], item["value"], None))
# 9. questionnaire_results_sponsor_2_sponsor_reasons, value
cur.execute("select id, login, value from questionnaire_results_sponsor_2_sponsor_reasons where value like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_sponsor_2_sponsor_reasons", item["id"], "value", item["login"], item["value"], None))
# 10. questionnaire_results_sponsor_2_shortcomings, value
cur.execute("select id, login, value from questionnaire_results_sponsor_2_shortcomings where value like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_sponsor_2_shortcomings", item["id"], "value", item["login"], item["value"], None))
# other comments
# 1. questionnaire_results_others_1_basic, self_description
cur.execute("select id, login, self_description from questionnaire_results_others_1_basic where self_description like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_others_1_basic", item["id"], "self_description", item["login"], item["self_description"], None))
# 2. questionnaire_results_others_1_basic, not_set_reasons
cur.execute("select id, login, not_set_reasons from questionnaire_results_others_1_basic where not_set_reasons is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_others_1_basic", item["id"], "not_set_reasons", item["login"], item["not_set_reasons"], None))
# 3. questionnaire_results_others_1_basic, shortcomings
cur.execute("select id, login, shortcomings from questionnaire_results_others_1_basic where shortcomings is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_others_1_basic", item["id"], "shortcomings", item["login"], item["shortcomings"], None))
# 4. questionnaire_results_others_1_basic, improve_ways
cur.execute("select id, login, improve_ways from questionnaire_results_others_1_basic where improve_ways is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_others_1_basic", item["id"], "improve_ways", item["login"], item["improve_ways"], None))
# 5. questionnaire_results_others_1_basic, else_to_tell
cur.execute("select id, login, else_to_tell from questionnaire_results_others_1_basic where else_to_tell is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_others_1_basic", item["id"], "else_to_tell", item["login"], item["else_to_tell"], None))
# 6. questionnaire_results_others_2_basic, self_description
cur.execute("select id, login, self_description from questionnaire_results_others_2_basic where self_description like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_others_2_basic", item["id"], "self_description", item["login"], item["self_description"], None))
# 7. questionnaire_results_others_2_basic, else_to_tell
cur.execute("select id, login, else_to_tell from questionnaire_results_others_2_basic where else_to_tell is not null")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_others_2_basic", item["id"], "else_to_tell", item["login"], item["else_to_tell"], None))
# 8. questionnaire_results_others_2_not_set_reasons, value
cur.execute("select id, login, value from questionnaire_results_others_2_not_set_reasons where value like 'Other (please specify)%'")
items = cur.fetchall()
for item in items:
cur.execute("insert into questionnaire_comment_code (table_name, table_id, column_name, login, comment, code) values (%s, %s, %s, %s, %s, %s)", ("questionnaire_results_others_2_not_set_reasons", item["id"], "value", item["login"], item["value"], None))
# code the comments
count_maintainer = 0
count_sponsor = 0
count_others = 0
cur.execute("select id, table_name from questionnaire_comment_code order by id asc")
items = cur.fetchall()
for item in items:
id = item["id"]
table_name = item["table_name"]
if "maintainer" in table_name:
count_maintainer += 1
cur.execute("update questionnaire_comment_code set code=%s where id=%s", ("MC" + str(count_maintainer), id))
elif "sponsor" in table_name:
count_sponsor += 1
cur.execute("update questionnaire_comment_code set code=%s where id=%s", ("SC" + str(count_sponsor), id))
elif "other" in table_name:
count_others += 1
cur.execute("update questionnaire_comment_code set code=%s where id=%s", ("OC" + str(count_others), id))
else:
print("error: pause")
print("finish")