回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>很抱歉,因为我可能在这里犯了很多错误,但我正在尝试使用文件(justgenes.txt)中的字符串列表搜索一个大型CSV文件,并返回包含justgenes列表中字符串的行</p>
<p>我一直在使用BASH,但我的代码占用了超过100GB的内存并崩溃:</p>
<pre><code>grep -f justgenes.txt allDandHunique.csv > HPCgenesandbugs.csv
</code></pre>
<p>因此,我尝试用python来做,假设它会更有效,但我对它知之甚少</p>
<p>我使用这段代码(我从网上抓取的),但最后得到一个空文件:</p>
<pre><code>data = open('allDandHunique.csv')
with open('justgenes.txt', "r+") as file1:
fileline1= file1.readlines()
for x in data: # <--- Loop through the list to check
for line in fileline1: # <--- Loop through each line
if x in line:
print(x)
</code></pre>
<p>justgenes文件如下所示:</p>
<pre><code>1A0N_B
1A1A_A
1A4I_A
1A5Y_A
1ACO_A
1AGN_A
1AGS_A
1AJE_A
1AJJ_A
1AP0_A
1APQ_A
</code></pre>
<p>虽然csv看起来像这样:</p>
<pre><code>"0403181A:PDB=1BP2,2BPP",
"0403181A:PDB=1BP2,2BPP",,,
"0706243A:PDB=1HOE,2AIT,3AIT,4AIT",
"0706243A:PDB=1HOE,2AIT,3AIT,4AIT",,,
"1309311A:PDB=1EMD,2CMD",
"1309311A:PDB=1EMD,2CMD",,,
"1513188A:PDB=1BBC,1POD",
"1513188A:PDB=1BBC,1POD",,,
0308206A,
0308206A,,,
0308221A,
0308221A,,,
0308230A,
0308230A,,,
</code></pre>
<p>任何帮助都将受到感激</p>