我有一个6列的txt文件file1.csv。它们的排序如下:
$ cat file1.csv (tab delimited)(752 rows)
1 1011001 1001164 981328 1 -9
1 1011002 1001164 981328 1 -9
1 1011003 1001085 981149 1 -9
和
$ cat file2.txt
(以空格分隔,这是一个具有52872列和752行的大文件)
1011001 CC GG TT AA ...
1011003 GG TT AA CC ...
1011002 TT GG CC AA ...
如何将file2.txt中的第一列替换为file1.csv中的6列,如下所示:
1 1011001 1001164 981328 1 -9 C C G G T T T A A ...
1 1011002 1001164 981328 1 -9 T T G G C C A A
1 1011003 1001085 981149 1 -9 G G T T A A C C
答案 0 :(得分:1)
import pandas as pd
file_1=pd.read_csv('file1.csv', header=None)
file_2=pd.read_csv('file2.txt', sep=' ')
combined_df = file_1.join(file_2, left_on=1, right_index=True)
Faisel在下面指出了一个重点。您可能想将新合并的数据保存到输出中。
答案 1 :(得分:0)
我建议您查看Pandas软件包,以方便地操作.csv文件。如果您这样:
import pandas as pd
df1 = pd.read_csv('file1.txt')
df2 = pd.read_csv('file2.txt')
df = pd.pd.concat([df1, df2], axix=1)
# Optionally save it back to csv file
df.to_csv('final.txt')