尝试使用Python或Excel将.dat文件与.asc文件联接

尝试使用Python或Excel将.dat文件与.asc文件联接,python,excel,parsing,merge,uniqueidentifier,Python,Excel,Parsing,Merge,Uniqueidentifier,伙计们 我在尝试合并两个大数据文件时遇到了一个独特的问题。两个文件都有一列相同的数据(专利号),而所有其他列都不同 其想法是将它们连接起来,使这些专利号列对齐,以便其他数据可读并连接起来 .dat文件的前几行如下所示: IL 1 Chicago 10030271 0 3930271 PA 1 Bedford 10156902 0 3930272 MO 1 St. Louis 10112031 0 3930273 IL

伙计们

我在尝试合并两个大数据文件时遇到了一个独特的问题。两个文件都有一列相同的数据(专利号),而所有其他列都不同

其想法是将它们连接起来,使这些专利号列对齐,以便其他数据可读并连接起来

.dat文件的前几行如下所示:

IL      1   Chicago 10030271    0   3930271
PA      1   Bedford 10156902    0   3930272
MO      1   St. Louis   10112031    0   3930273
IL      1   Chicago 10030276    0   3930276
以及.asc

02 US corporation   No change   11151713    TRANSCO PROD INC    58419
02 US corporation   No change   11151720    SECURE TELECOM INC  502530 
02 US corporation   No change   11151725    SOA SYSTEMS INC 520365 
02 US corporation   No change   11151738    REVTEK INC  473150 
.dat文件太大,无法在Excel中完全打开,因此我不认为可以对其进行重新组织(我不知道是否可以通过联机找到的任何宏进行重新组织)


我觉得这是一个相当新的问题,但有人知道我如何用这个专利号唯一标识符将这些数据集链接在一起(最好使用Python)?

您需要编写一个程序,从要合并的两个文件中读取数据。您将打开文件并解析每行的数据。从那里,您可以按照您想要的任何顺序将数据写入新文件。这可以通过python文件IO实现

伪代码:

def filehandler(self, filename1, filename2):
     Fd =open(filename1, "r")
     Fd2 = open(filename2, "r")
     while True:
         line1 = Fd.readline()
         if not line1: break # this will exit the loop if there is no more to read
         Line1_array = line1.split()
         # first line of first file is split and saved in an array deliniated by spaces.

您需要编写一个程序,从要合并的两个文件中读取数据。您将打开文件并解析每行的数据。从那里,您可以按照您想要的任何顺序将数据写入新文件。这可以通过python文件IO实现

伪代码:

def filehandler(self, filename1, filename2):
     Fd =open(filename1, "r")
     Fd2 = open(filename2, "r")
     while True:
         line1 = Fd.readline()
         if not line1: break # this will exit the loop if there is no more to read
         Line1_array = line1.split()
         # first line of first file is split and saved in an array deliniated by spaces.

这很公平,但如果两个数据集的长度不相等,这会起作用吗?我相信其中一个比另一个有更多的条目,所以我需要使用唯一标识符来匹配它们。当然可以。在语句中添加If语句,以检查是否还有另一行。这和你打破while循环的方式是一样的。这很公平,但是如果两个数据集的长度不相等,这会起作用吗?我相信其中一个比另一个有更多的条目,所以我需要使用唯一标识符来匹配它们。当然可以。在语句中添加If语句,以检查是否还有另一行。这与打破while循环的方式相同。