首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

R 語言匯入 Word 表格資料:避開亂碼與格式陷阱

     編輯:程式設計疑難解答

核心建議:轉存為 CSV/TSV

Word (.docx) 非資料交換格式,**請勿直接讀取**。在 Word 中另存為 純文字 (.txt) 或 CSV (.csv),再用 R 讀取。

步驟與參數

  1. Word 開啟表格 → 檔案 → 另存為 → 純文字 (*.txt) 或 CSV (逗號分隔) (*.csv)。
  2. 儲存編碼選 **UTF-8** (預設通常為 ANSI/Big5,中文易亂碼)。
  3. R 讀取:
# CSV (推薦)
df <- read.csv("data.csv", header = TRUE, encoding = "UTF-8", stringsAsFactors = FALSE)

# TXT (固定寬度/分隔符)
df <- read.table("data.txt", header = TRUE, sep = "\t", encoding = "UTF-8", stringsAsFactors = FALSE)

常見亂碼原因與解法

現象原因解法
中文顯示 <U+XXXX> 或 亂碼檔案編碼非 UTF-8 (如 Big5/GBK),R 預設 locale 讀錯存檔時指定 UTF-8,或 R 讀取加 encoding="UTF-8" (R 4.0+ 預設 UTF-8)
欄位合併/欄位數不符Word 表格合併儲存格、含逗號/換行手動清理 CSV,或用 readxl::read_excel 直接讀 .xlsx (需另存為 Excel)
數字變科學記號/日期變數字R 自動型別推論指定 colClasses 或用 readr::read_csv (型別更穩)

進階:直接讀 .docx (不推薦常規用)

# 需安裝 docxtractr / officer
library(docxtractr)
tbl <- docx_extract_all_tbls("file.docx") # 回傳 list of data.frames

適合一次性匯入,不適合自動化管線。

總結

Word 表格 → **另存為 UTF-8 CSV** → read.csv(..., encoding="UTF-8")。這是最穩健、可重現、跨平台的工作流。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved