如何基于现有数据表提取name字段首词创建仅含该字段的新表
实现提取name字段首段生成新表的方案
场景说明
以下分别提供SQL(适配Spark SQL/Hive等大数据表处理引擎)和Python Pandas两种常用场景的实现逻辑,默认「首段名称」指name字段按空格分割后的第一个内容片段,若你对首段的定义为省略号...之前的内容,可替换对应提取逻辑即可。
SQL实现方案
-- 创建新表,保留原表所有字段+提取的首段名称,若不需要原name字段可在select中剔除 CREATE TABLE 商家信息简化表 AS SELECT address, attributes, business_id, categories, city, hours, is_open, latitude, longitude, name AS 原完整名称, -- 按空格分割取第一段作为首段名称 split(name, ' ')[0] AS 首段名称, -- 若需要取省略号前的内容,替换为如下代码 -- split(name, '\\.\\.\\.')[0] AS 首段名称, postal_code, review_count, stars, state FROM 你的原表名;
Python Pandas实现方案
若你是将数据导出到本地用Python处理,可使用如下代码:
import pandas as pd # 读取原数据,支持csv、excel等格式 df = pd.read_csv("原数据文件路径.csv") # 提取首段名称 df["首段名称"] = df["name"].str.split(" ").str[0] # 若要提取省略号前的内容,使用如下代码 # df["首段名称"] = df["name"].str.split("\.\.\.").str[0] # 保存为新表文件 df.to_csv("商家信息简化表.csv", index=False, encoding="utf-8-sig")
内容的提问来源于stack exchange,提问作者user12755836
相关产品推荐
相关产品推荐

