【发布时间】:2016-09-03 14:21:14
【问题描述】:
我有 12 个.csv 文件,其中包含提取的分类名称及其频率(提取每个名称的次数)。我创建了一个主 .txt 文件,列出了在 12 个文件中至少一次找到的所有独特分类群。我需要以csv 格式制作一个连接表,其中行的标题是每个文件的名称,列的标题是主.txt 文件中列出的所有唯一分类群。该表必须填充每个.csv 输入文件中每个分类单元旁边的频率。尽管主列表包含 12 个文件中所有可能的分类单元,但并非所有文件都包含所有分类单元。当分类单元丢失时,我需要放置一个“0”。
.csv 输入:
$cat file_1
1,Salmo salar
12,Solanum pennellii
18,Staphylococcus xylosus
...
$cat file_2
1,Salmo salar
14,Staphylococcus xylosus
123,Strongyloides stercoralis
...
$cat file_3
123,Solanum pennellii
11,Staphylococcus xylosus
41,Strongyloides stercoralis
...
.txt主列表:
$cat master
Salmo salar
Solanum pennellii
Staphylococcus xylosus
Strongyloides stercoralis
...
.csv 输出(我需要的):
Sample,Salmo salar,Solanum pennellii,Staphylococcus xylosus,Strongyloides stercoralis
File_1,1,12,18,0
File_2,1,0,14,123
File_3,0,123,11,41
我之前尝试制作一个没有主列表的小型 Python 脚本,并使用包含重复分类群名称而不是频率的 .tsv 输入文件。我无法获得显示每个文件缺少分类群的表格,因此我决定创建一个主列表并折叠输入文件。我对python很陌生,所以任何帮助都将不胜感激。
【问题讨论】:
-
我尝试在不使用主列表或折叠 csv 输入文件的情况下制作脚本(而不是具有频率,文件具有重复多次的相同名称),但它没有像我一样工作希望。
标签: python bash shell csv bioinformatics