上传文件至 /

This commit is contained in:
mei 2025-08-12 20:47:01 +08:00
commit 5aaf7d4396
2 changed files with 90 additions and 0 deletions

22
判断.py Normal file
View File

@ -0,0 +1,22 @@
import json
# 读取 CSV去掉空白列
df = pd.read_csv(file_path, usecols=["题干(必填)", "正确答案\n(必填)"])
# 定义映射:判断题“正确”/“错误” -> A / B
ans_map = {"正确": "A", "错误": "B"}
# 构造结果列表
result = []
for _, row in df.iterrows():
q = str(row["题干(必填)"]).strip()
ans_text = str(row["正确答案\n(必填)"]).strip()
ans = ans_map.get(ans_text, ans_text) # 如果不是判断题格式,就原样保留
a = ["A.正确", "B.错误"]
result.append({"q": q, "a": a, "ans": ans})
# 保存为一行一个 JSON
output_path = "/mnt/data/questions.json"
with open(output_path, "w", encoding="utf-8") as f:
for item in result:
f.write(json.dumps(item, ensure_ascii=False) + "\n")

68
选择.py Normal file
View File

@ -0,0 +1,68 @@
import csv
import json
def convert_csv_to_json(input_csv_path, output_json_path):
"""
将指定的CSV文件转换为每行一个JSON对象的格式
Args:
input_csv_path (str): 输入CSV文件的路径
output_json_path (str): 输出JSON文件的路径
"""
try:
with open(input_csv_path, 'r', encoding='utf-8') as csv_file, \
open(output_json_path, 'w', encoding='utf-8') as json_file:
# 使用csv.reader读取文件csv.DictReader也可以但索引更直接
csv_reader = csv.reader(csv_file)
# 跳过表头
header = next(csv_reader)
# 选项字母列表
option_letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
# 遍历每一行数据
for row in csv_reader:
# 检查行是否为空或无效
if not row or len(row) < 10:
continue
# 提取问题第1列索引0
question = row[0]
# 提取正确答案第10列索引9
correct_answer = row[9]
# 提取选项从第2列到第9列索引1到8
options = []
for i in range(len(option_letters)):
option_text = row[i+1].strip()
if option_text:
# 格式化选项为 "A. 文本"
options.append(f"{option_letters[i]}.{option_text}")
# 创建JSON对象
json_object = {
"q": question,
"a": options,
"ans": correct_answer
}
# 将JSON对象写入文件每行一个对象
json_file.write(json.dumps(json_object, ensure_ascii=False) + '\n')
print(f"转换成功!文件已保存到:{output_json_path}")
except FileNotFoundError:
print(f"错误:找不到文件 {input_csv_path}")
except Exception as e:
print(f"发生错误:{e}")
# 请将'单选题.csv'替换为您的实际文件路径
input_file = '多选题.csv'
output_file = 'output.json'
if __name__ == "__main__":
convert_csv_to_json(input_file, output_file)