

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 從 Amazon S3 載入固定寬度資料
<a name="t_loading_fixed_width_data"></a>

固定寬度資料檔案其資料的每個資料欄長度一致。固定寬度資料檔案中的每個欄位有完全相同的長度和位置。針對固定寬度資料檔案中的字元資料 (CHAR 和 VARCHAR)，您必須包括前方或結尾空格做為預留位置以便維持寬度統一。針對整數，您必須使用前方零做為預留位置。固定寬度資料檔案沒有分隔符號可分隔資料欄。

若要將固定寬度資料檔案載入至現有資料表，請在 COPY 命令中使用 FIXEDWIDTH 參數。您的資料表規格必須符合 fixedwidth\_spec 的值，資料才能正確載入。

若要從檔案載入固定寬度資料至資料表，請發出下列命令：

```
COPY table_name FROM 's3://amzn-s3-demo-bucket/prefix' 
IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole' 
FIXEDWIDTH 'fixedwidth_spec';
```

*fixedwidth\_spec* 參數是字串，包含每個資料欄的識別碼以及每個資料欄的寬度，以冒號分隔。**column:width** 對組是使用逗號分隔。識別碼可以是您選擇的任何項目：數字、字母或兩者的結合。識別碼對資料表本身沒有關聯，所有規格必須以與資料表相同的順序包含資料欄。

下列兩個範例會顯示相同的規格，第一個使用數值識別碼，而第二個使用字串識別碼：

```
'0:3,1:25,2:12,3:2,4:6'
```

```
'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6'
```

下列範例顯示可以使用上述規格載入至 VENUE 資料表的固定寬度樣本資料：

```
1  Toyota Park               Bridgeview  IL0
2  Columbus Crew Stadium     Columbus    OH0
3  RFK Stadium               Washington  DC0
4  CommunityAmerica Ballpark Kansas City KS0
5  Gillette Stadium          Foxborough  MA68756
```

下列 COPY 命令會將此資料集載入至 VENUE 資料表：

```
COPY venue
FROM 's3://amzn-s3-demo-bucket/data/venue_fw.txt' 
IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole' 
FIXEDWIDTH 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6';
```