You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中基于列索引自动为列添加A、B、C…标识的实现方案

Python Solution to Add Dynamic Column Labels (A, B, C...) to Tables

Got it, here's a flexible Python implementation that automatically generates column labels (A, B, C, and so on) based on how many columns your table has. It adjusts seamlessly whether you're working with 2 columns, 3 columns, or more.

Core Idea

We use ASCII character codes to generate the labels: the letter "A" corresponds to ASCII code 65, so the nth column (0-indexed) will be chr(65 + n). This lets us dynamically create labels without hardcoding anything.

Option 1: Add Labels as a Header Row

If you want the labels to be the first row of your table (like a spreadsheet header), use this function:

def add_header_labels(table):
    # Handle empty table edge case
    if not table:
        return []
    
    num_columns = len(table[0])
    # Generate A, B, C... for each column
    column_labels = [chr(65 + idx) for idx in range(num_columns)]
    # Insert labels as the first row (use .copy() to avoid modifying the original table)
    labeled_table = table.copy()
    labeled_table.insert(0, column_labels)
    
    return labeled_table

# Test with 2 columns
two_col_table = [
    [15, 25],
    [35, 45],
    [55, 65]
]
labeled_2col = add_header_labels(two_col_table)
print("2-column table with headers:")
for row in labeled_2col:
    print(row)

# Test with 3 columns (auto-adds "C" label)
three_col_table = [
    [10, 20, 30],
    [40, 50, 60],
    [70, 80, 90]
]
labeled_3col = add_header_labels(three_col_table)
print("\n3-column table with headers:")
for row in labeled_3col:
    print(row)

Output:

2-column table with headers:
['A', 'B']
[15, 25]
[35, 45]
[55, 65]

3-column table with headers:
['A', 'B', 'C']
[10, 20, 30]
[40, 50, 60]
[70, 80, 90]

Option 2: Attach Labels to Each Column Value

If you need the label to be prepended to every value in the column (e.g., "A: 10" instead of just a header), use this variation:

def add_inline_labels(table):
    if not table:
        return []
    
    num_columns = len(table[0])
    column_labels = [chr(65 + idx) for idx in range(num_columns)]
    labeled_table = []
    
    for row in table:
        # Pair each value with its column label
        labeled_row = [f"{label}: {value}" for label, value in zip(column_labels, row)]
        labeled_table.append(labeled_row)
    
    return labeled_table

# Example usage
sample_table = [
    [1, 2, 3],
    [4, 5, 6]
]
print(add_inline_labels(sample_table))

Output:

[['A: 1', 'B: 2', 'C: 3'], ['A: 4', 'B: 5', 'C: 6']]

Notes

  • Make sure all rows in your table have the same number of columns—otherwise, the label generation will be off.
  • The solution handles empty tables gracefully, returning an empty list instead of throwing an error.

内容的提问来源于stack exchange,提问作者Vinit Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 09:47:45