酷代码 AI
菜单

在计算机世界中,“表格” 是一种简单、基础而且十分通用的数据结构,在数据库、人工智能等 领域中都有广泛的应用。 表格由若干行、若干列的单元格组成: Name p1 p2 p3 Score ZhangSan 40 30 28 98 LiSi 40 28 30 98 WangWu 40 25 20 85 CSV (Comma-Separated Values) 是一种常用的表格格式。Dr. X 需要你编程处理简化的 CSV 文 件,格式规定如下: CSV 文件包含 n 行数据,其中第一行是标题行。 CSV 文件每行一个字符串,对应了表格的一行。行中的单元格由半角逗号分隔。 每个单元格至少包含一个字符。 单元格有两种类型: 数值单元格:由至少一个数字字符 (0-9) 组成。 字符串单元格:由数字字符 (0-9) 和大小写字母 (a-z, A-Z) 组成,且至少包含一个字 母。 标题行的所有单元格都是字符串单元格,且互不相同。 标题行中包含了列的名称。 以下是一个 CSV 文件的示例: Name,p1,p2,p3,Score ZhangSan,

```python # 读取输入的 CSV 表格 n = int(input()) csv_table = [input().split(',') for _ in range(n)] header = csv_table[0] # 读取排序要求 m = int(input()) sort_columns = [] for _ in range(m): column = input() column_name = column[:-1] sort_order = column[-1] sort_columns.append((column_name, sort_order)) # 找到排序依据列的索引 sort_indices = [] for column_name, _ in sort_columns: index = header.index(column_name) sort_indices.append(index) # 对除行外的行进行排序 data_rows = csv_table[1:] data_rows.sort(key=lambda row: [ (int(row[index]) if row[index].isdigit() else row[index]) * (-1 if order == '-' else 1) for index, (_, order) in zip(sort_indices, sort_columns) ]) # 输出排序后的 CSV 表格 print(','.join(header)) for row in data_rows: print(','.join(row)) ``` [2025-12-08 17:31:17 | AI问答 | 257点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多