在R中将Tesseract OCR生成的列表转换为规范数据框
R数据框格式处理方案
需求说明
- 将
table_df2的列名重命名:V1→Year,month_list→Month,us_total→U.S. Totals - 将
values中的数据按每9个一组拆分,作为9列追加到U.S. Totals列右侧,每组对应table_df2的一行
代码实现
1. 重命名现有列
可使用基础R方法或dplyr包工具:
# 基础R重命名方法 colnames(table_df2) <- c("Year", "Month", "U.S. Totals") # 若使用dplyr包 # library(dplyr) # table_df2 <- table_df2 %>% # rename(Year = V1, # Month = month_list, # `U.S. Totals` = us_total)
2. 处理并拆分values数据
values包含118个元素(含1个空值),先清理空值,再按9个一组转换为匹配主数据框行数的列:
# 清理空值并截取对应13行的117个元素 values_clean <- values$table_df[values$table_df != ""][1:117] # 转换为9列的数据框,按行填充对应主数据框的每行 additional_cols <- as.data.frame( matrix(values_clean, ncol = 9, byrow = TRUE) ) # 为新增列命名(可根据实际业务场景修改) colnames(additional_cols) <- paste0("Region_", 1:9)
3. 合并数据框
将处理后的新增列与重命名后的主数据框合并:
final_df <- cbind(table_df2, additional_cols)
验证结果
可通过以下代码查看最终数据框结构:
# 查看前5行 head(final_df, 5) # 查看数据类型与结构 str(final_df)
内容的提问来源于stack exchange,提问作者data_life
相关产品推荐
相关产品推荐

