import pandas as pd
import os
import numpy as np

# 假设Excel文件名为your_excel_file.xlsx
excel_file = 'your_excel_file.xlsx'

# 读取Excel文件
df = pd.read_excel(excel_file)

# 定义输出文本文件的目录
output_dir = 'output_files'
# 如果输出目录不存在,则创建它
if not os.path.exists(output_dir):
    os.makedirs(output_dir)

# 遍历DataFrame的每一行
for index, row in df.iterrows():
    # 提取id和name列的值
    id_value = row['id']
    name_value = row['name']
    
    # 检查name_value是否为NaN或者为空,如果是,则用空字符串代替
    if pd.isna(name_value) or name_value == "":
        name_value = 'Empty'  # 可以选择一个默认值或跳过这一行
    else:
        # 确保name_value是字符串类型
        name_value = str(name_value)
    
    # 查找name中第一个标点符号的位置,如果没有标点符号,则使用整个name的长度
    punctuation_index = next((i for i, char in enumerate(name_value) if not char.isalnum()), len(name_value))
    
    # 获取name的第一个标点符号之前的内容
    name_title = name_value[:punctuation_index]
    
    # 将id和name标题组合成文件名,id和name之间加入@符号
    file_name = f"{id_value}@{name_title}.txt"
    
    # 构造完整的文件路径
    file_path = os.path.join(output_dir, file_name)
    
    # 写入name的全部内容到文件
    with open(file_path, 'w', encoding='utf-8') as file:
        file.write(name_value)

print("所有文件已成功生成。")
import pandas as pd
import os

# 假设Excel文件名为your_excel_file.xlsx
excel_file = 'your_excel_file.xlsx'

# 读取Excel文件
df = pd.read_excel(excel_file)

# 定义输出文本文件的目录
output_dir = 'answer'
# 如果输出目录不存在,则创建它
if not os.path.exists(output_dir):
    os.makedirs(output_dir)

# 遍历DataFrame的每一行
for index, row in df.iterrows():
    # 提取id和name列的值
    id_value = row['id']
    name_value = row['answer']
    
    # 检查name_value是否为NaN或者为空,如果是,则用空字符串代替
    if pd.isna(name_value) or name_value == "":
        name_value = 'Empty'  # 或者您可以选择跳过这一行
    
    # 确保name_value是字符串类型
    name_value = str(name_value)
    
    # 将id和name组合成文件内容的格式 "id 的答案是 name"
    content = f"{id_value} 的答案是 {name_value}"
    
    # 将id和name的前8个字符组合成文件名,并在id和name之间加入@符号
    file_name = f"{id_value}.txt"
    
    # 构造完整的文件路径
    file_path = os.path.join(output_dir, file_name)
    
    # 写入内容到文件
    with open(file_path, 'w', encoding='utf-8') as file:
        file.write(content)

print("所有文件已成功生成。")