1 Star 0 Fork 0

0_0请用洛必达/训练赛7

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
数据合成2.py 1.59 KB
一键复制 编辑 原始数据 按行查看 历史
0_0请用洛必达 提交于 2024-08-24 21:00 . 4
import os
import pandas as pd
# 指定目录路径
folder_path = r"C:\Users\Zherui\Desktop\Project\7\测验结果"
# 获取所有CSV文件的文件名
csv_files = [f for f in os.listdir(folder_path) if f.endswith('.csv')]
# 初始化一个空的字典用于存放每个人的数据
all_data = {}
# 遍历每个CSV文件
for file in csv_files:
# 读取CSV文件
df = pd.read_csv(os.path.join(folder_path, file))
# 获取文件名中的名称(假设格式为“人名-量表类型.csv”)
person_name = file.split('-')[0]
scale_type = file.split('-')[1].replace('.csv', '')
# 只保留“名称”和“原始分”两列
df = df[['名称', '原始分']]
# 将“名称”列中的值加上量表类型前缀,形成新的列名
df['名称'] = scale_type + "_" + df['名称']
# 将“名称”列作为列名,“原始分”作为数据,转为一行数据
person_data = df.set_index('名称').T
person_data.index = [person_name] # 将行索引设置为人名
# 如果该人名已经在字典中,则更新它的内容,否则创建一个新的条目
if person_name in all_data:
all_data[person_name] = pd.concat([all_data[person_name], person_data], axis=1)
else:
all_data[person_name] = person_data
# 将字典中的所有数据合并为一个DataFrame
result_df = pd.concat(all_data.values(), axis=0)
# 设置行索引名称为“姓名”
result_df.index.name = '姓名'
# 保存为新的CSV文件
result_df.to_csv('整理后的数据.csv', encoding='utf-8-sig')
print("数据已整理并保存为'整理后的数据.csv'")
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangzherui666/training-competition-7.git
git@gitee.com:zhangzherui666/training-competition-7.git
zhangzherui666
training-competition-7
训练赛7
master

搜索帮助