我对Python的解析还是相当陌生的,所以我需要一些关于连接的帮助。我有一个.asc文件和一个.dat文件,它们的结构如下:
sta cnt assgnum cty pdpass ptype patnum
"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
而.dat是这样的:
cod cod_fix pdpass standard_name uspto_assignee
"US institute" 32 12832332 "& AEROSPACE FOUND" 835951
"02 US corporation" "No change" 11624193 "& COMMUNICATIONS" 721167
"03 Foreign corp, incl. state-owned" "No change" 12549858 "& DESIGN LTD" 806186
"03 Foreign corp, incl. state-owned" "No change" 11170486 "& FR" 182855
很难看。因此,我尝试将这两个文件分别保存为.csv文件,并去掉它们的所有引号(在sta、cty、ptype、cod等…)
最终目标是将两个数据集合并到同一个唯一标识符(pdpass)下,但首先需要剥离它们。你知道吗
我的剥离代码是这样的:
import csv
import re
with open("C:\\......FILE.asc", "r") as fin:
with open("C:\.....FILE.csv", "w") as fout:
for line in fin:
newline = map(str.strip, line.split('"'))
csv.writer(fout).writerow(newline)
这给了我一些格式不稳定的结果。不太清楚该往哪里走。有人吗?你知道吗
这些文件看起来是分开的。如果是这样,只需使用pandas库将其作为csv读取,并使用tab作为分隔符。你知道吗
然后,您可以通过在每一行上使用map或apply来清除引号。你知道吗
很晚了(在我的时区)。这段代码表示读取两个文件的基本方法,以及在
pdpass
变量上合并它们的基本方法,假设输入文件是以制表符分隔的。(如果它们不是制表符分隔的,我可以提供其他代码。)差点忘了!:我更改了其中一个文件中的一些
pdpass
值,以便其中的记录将“连接”到另一个文件中的某些相应记录。你知道吗结果如下:
输入文件:
你知道吗文件.csv你知道吗
你知道吗文件.dat你知道吗
相关问题 更多 >
编程相关推荐