【发布时间】:2019-09-19 15:09:24
【问题描述】:
我有几个 CSV 文件需要合并到一个文件中。
幸运的是,所有文件都使用了主键。根据主键,我需要从选定列的多个文件中读取日期。
如何开始根据列名读入数据?
我认为下一个重要任务是如何读取多个文件,例如查询每个文件中存在的主键的访问表。
H1,Name, DOB,…. static information (columns from the csv 1 file)
SASH1,Auth#,State,Status,…. (columns from the csv 2 file)
SPLI,RequestedFromDate,Type,ServiceType,….. (columns from the csv 3 file)
CRLI,DateofReview,ReviewedBy,CriteriaMet,…. (columns from the csv 4 file)
ARLI,DateofReview,CriteriaMet,CriteriaSource,…. (columns from the csv 4 file)
output -
H1,Name, DOB,….
SASH1,**OP0619**,NY,VOID ….. One-One - Main csv with primary key (first record)
SPLI,10/1/2019,DFG,Full,….. One-many records from file2 match primary key
SPLI,10/3/2019,DFG,Full,….. One-many records from file2 match primary key
SPLI,10/3/2019,DFG,Full,….. One-many records from file2 match primary key
CRLI,11/22/2019,Kim,Yes,….. One-many records from file3 match primary key
CRLI,11/23/2019,Jon,Yes,….. One-many records from file3 match primary key
.
.
H1,Name, DOB,….
SASH1,OP0586,NY,VOID ….. One-One Main csv with primary key (second record)
SPLI,1/1/2019,DE,Level2,….. One-many records from file2 match primary key
SPLI,1/3/2019,DFG,Full,….. One-many records from file2 match primary key
SPLI,1/3/2019,DFG,Full,….. One-many records from file2 match primary key
CRLI,5/22/2019,John,Yes,….. One-many records from file3 match primary key
CRLI,3/23/2019,Bill,Yes,….. One-many records from file3 match primary key
等等等等……
【问题讨论】:
-
您想读取 csv 文件并获取特定列还是其他内容?
-
是的,我想读取文件夹中的每个 csv 文件并获取特定的列数据。每条记录共享相同的主键。所以我的目标是从每个 csv 文件中选择与从父 csv 中选择的主文件相对应的所有记录。希望我能清楚地解释我的意图。这有点挑战性,超出了我的经验水平
-
您的问题不清楚。 (1) 您是否有一个文件包含要从
csv1..4合并的列的名称?或者,您想合并来自csv1..4的所有列吗? (2) 每个csv1..4文件的格式是什么? (a) 它们是否有一个标题行,或者 (b) 是否有多个标题行? (3) 合并列的顺序是否与它们在原始csv1..4中的原始顺序相同?一切都很重要。接下来,你尝试了什么?awk将是合适的工具,或者只是paste可能适用于您的情况。 -
抱歉,我是新手。我正在寻找一个起点,因为我不知道如何成为这个项目。所有文件都是逗号分隔的 csv 文件。我有样本数据可能会让事情变得更清楚。你如何将文件上传到问题区域?所以有一个带有一对一记录的csv文件。基于这个文件,我想合并来自共享相同主键的其他文件的记录。所有文件都有标题行。我只需要从所有文件中选择数量的列。因此,我需要能够确定将哪些列数据打印到合并文件中。