【发布时间】:2020-12-17 09:27:47
【问题描述】:
我有 2 个文档,一个带有特定数字,另一个文档带有数字参考和由管道分隔的数字的定义。但是,第一个文档有时包含多个数字,这意味着它比另一个文档具有更多的列,而另一个文档只有 2 个。由于“for 循环”,我尝试将它与更改列名的“on”参数合并" 并在每次迭代后再次保存合并的文档。问题是它删除了没有指定列数的行。有列如restriction_n1-16。
def merge_res(number, last_iter=None):
res_n = f"restrict_n{number}"
res_d = f"restrict_d{number}"
if number == 1:
restrict_desc_csv = pd.read_csv(
RESTRICTION_DESC,
sep="|",
delimiter="|",
header=None,
names=["restrict_n1", "restrict_d1",],
dtype=object,
)
merge = restrict_csv.merge(restrict_desc_csv, on="restrict_n1")
else:
restrict_desc_csv = pd.read_csv(
RESTRICTION_DESC,
sep="|",
delimiter="|",
header=None,
names=[res_n, res_d],
dtype=object,
)
merge = last_iter.merge(restrict_desc_csv, on=res_n)
return merge
last_iter = merge_res(1)
for i in range(2, 15):
last_iter = merge_res(i, last_iter)
【问题讨论】:
-
我知道我至少可以输入某种伪代码,但我写的很匆忙。无论如何,@Vladimír 似乎已经解决了我的问题。