python-3.x - 使用python连接两个CSV文件
问题描述
我有多个 CSV 文件,其中包含各种患者特征和小时测量,代表记录此测量的时间,如下所示
file 1
Subject_id hour_measure label valuenum
23 1 heart_rate 45
23 2 respiratory_rate 21
24 1 heart_rate 40
24 2 respiratory_rate 22
file 2
Subject_id hour_measure label valuenum
23 1 Temperature 20
23 2 Blood_pressure 130
24 1 Temperature 29
24 2 Blood_pressure 50
我想连接这两个文件如下
Subject_id hour_measure heart rate respiratory_rate Blood pressure temperature
23 1 45 21 130 30
24 1 40 22 50 29
我使用以下代码
df= pd.read_csv('data.csv',low_memory=False, error_bad_lines = False)
#df.dtypes
# reshape when columns are only number
df1 = df.pivot_table(index=[hour_measure','subject_id'],
columns=['label'],values=['valuenum'])
with open('test.csv', 'a',newline='') as f:
df1.to_csv(f, header=True)
但不幸的是,它按如下方式创建文件
label valuenum valuenum
Subject_id hour_measure heart_rate Respiratory_rate
23 1 45 21
24 2 40 22
label valuenum valuenum
Subject_id hour_measure Blood_pressure Temprature
23 1 130 20
24 2 50 29
所以请 id 任何人都可以帮助我如何解决这个问题任何帮助将不胜感激
解决方案
这是你可以做的
pd.concat([
pd.read_csv(f)
for f in ("file1.csv", "file2.csv")
]).pivot_table(index=['hour_measure','subject_id'],
columns=['label'],values=['valuenum'] ).to_csv("concat_file.csv", index=False)
推荐阅读
- javascript - Javascript'函数名':f,
- html - django页面中的html限制文本长度
- ios - Xcode 更改各种设备的按钮背景图像
- python - 为什么打印功能没有在正确的时间运行?
- ssh-tunnel - 通过代理的 AWS DocumentDB
- python - 在视频 ffmpeg 批处理脚本中显示文件名
- node.js - 我可以在不改变调用方式的情况下向 module.exports 添加第二个函数导出吗?
- azure-devops - Azure DevOps 管道复制文件任务目标目录值
- javascript - 重构 Javascript 数组
- c# - 当前上下文中不存在 FileUpload1