在Python中将字符串与另一个字符串的一部分连接起来

时间:2018-04-03 01:36:56

标签: python concatenation

问题:

我有一个csv文件,其中一个列中有部分城市名称(通常缺少前一个或两个字母),同一个文件中有另一列,其中包含其他信息,并且通常最后包含一个或两个丢失的字母那个字符串。

e.g。 第1栏 约克

第3栏 单词Ne

我关于如何处理此问题的逻辑是使用具有有效城市名称的单独CSV文件,并在串联前后执行VLOOKUP的Python版本,以便只有在它与有效城市不匹配时才会连接数据

我被困在如何从第3列中的字符串末尾实际拉出一个或两个字符(子字符串,但重复向下一列)并将其与第1列中字符串的开头合并,但我已经知道了如何执行我的其余想法。

以下是使用Pandas进行连接的一般脚本:

pd.concat([col1, col2.set_axis(col1.index[-len(col2):], inplace=False)], axis=1)

添加-2会解决问题吗?即。

pd.concat([col1, col2.set_axis(col1.index[-len(col2)-2:], inplace=False)], axis=1)

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您决定使用Pandas,在将csv加载到pandas数据帧后,您可以通过这种方式从第3列中提取最后1或2个字符,并以这种方式将其添加到第2列:

df_city_names['col3'].map(lambda x: "".join(str(x)[-(2 if len(str(x)) > 1 else 1 if len(str(x)) > 0 else ''):])) + df_city_names['col2']