我有几个大的 .csv 文件,我想将它们转换为二进制(1 和 0)格式。其中,除前两个字段外,所有包含文本的单元格都将变为 1,0 将保持为 0。
head Test.csv
Iss1,1,0,0,Hsapiens-I34,0,0,0,Mmusculus-H01,0,0
Iss1,11,0,Scerevisiae-U09,Hsapiens-I05,0,0,0,0,0,0
Iss1,21,0,0,Hsapiens-I05,0,0,0,Hsapiens-I31,0,0
Iss1,31,0,0,Mmusculus-H13,0,0,0,0,0,Hsapiens-I31
Iss1,41,0,Scerevisiae-U09,0,0,0,0,0,0,Hsapiens-I21
Iss1,51,0,0,0,0,0,0,Scerevisiae-U25,0,Hsapiens-I21
Iss1,61,0,0,Hsapiens-I34,0,0,0,Mmusculus-H13,0,0
Run Code Online (Sandbox Code Playgroud)
预期结果是
head Test.csv
Iss1,1,0,0,1,0,0,0,1,0,0
Iss1,11,0,1,1,0,0,0,0,0,0
Iss1,21,0,0,1,0,0,0,1,0,0
Iss1,31,0,0,1,0,0,0,0,0,1
Iss1,41,0,1,0,0,0,0,0,0,1
Iss1,51,0,0,0,0,0,0,1,0,1
Iss1,61,0,0,1,0,0,0,1,0,0
Run Code Online (Sandbox Code Playgroud)
其中文件中的所有文本都转换为 1。
如果有人能给我一些关于如何克服这个问题的建议,我将不胜感激。
谢谢
我想使用文件中的名称一次创建多个文件,list.txt
我该怎么做?
样品list.txt
:
EOG090W002U
EOG090W00C1
EOG090W00DC
EOG090W00DE
EOG090W00E5
EOG090W00HR
EOG090W00MH
EOG090W00MS
EOG090W00PB
EOG090W00U4
EOG090W00UK
EOG090W00WM
EOG090W00WR
Run Code Online (Sandbox Code Playgroud)
假设我有这个list.txt
包含一些 ID 号。现在我想使用这些 id 作为名称来制作单独的文件(例如EOG090W002U_M0.ctl
, EOG090W00C1_M0.ctl
, EOG090W00DC_M0.ctl
)。此外,文件的内容需要相应地更改。例如EOG090W002U_M0.ctl
,EOG090W00C1_M0.ctl
文件的内容将是
seqfile = EOG090W002U_p.phy
treefile = Constant.txt
outfile = EOG090W002U_M0_mlc
Run Code Online (Sandbox Code Playgroud)
或者
seqfile = EOG090W00C1_p.phy
treefile = Constant.txt
outfile = EOG090W00C1_M0_mlc
Run Code Online (Sandbox Code Playgroud)
其中*.phy
和Constant.txt
将在同一文件夹中提供。
当第 2 列、第 3 列和第 1 列中的连续单元格相同时,我尝试计算第 9 列中C_R
和的数量。S_R
该文件采用床格式(制表符分隔格式)。原始文件很大,第一列定义了染色体编号。文件的前几行看起来像这样,
chr1 10200 10300 8 10000 10214 100 214 S_R
chr1 10200 10300 8 10009 10233 100 224 S_R
chr1 10200 10300 8 10014 10220 100 206 S_R
chr1 10200 10300 8 10045 10215 100 170 S_R
chr1 10200 10300 8 10068 10209 100 141 S_R
chr1 10200 10300 8 10074 10300 100 226 C_R
chr1 10200 10300 8 10182 10283 100 101 S_R
chr1 10200 10300 8 …
Run Code Online (Sandbox Code Playgroud)