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

Common Lisp中如何将.csv文件转换为嵌套列表格式的二维列表

解决方案

首先你找到的read-2d-array函数不适用于CSV解析场景:该函数是针对空格分隔的纯整数文本设计的,逻辑完全不匹配CSV逗号分隔、支持字符串/转义字符的规则,所以会输出你看到的字符序列结果,直接弃用该段代码即可。

你已经用到的cl-csv库原生支持返回二维嵌套列表,操作步骤如下:

  1. 先确保加载cl-csv库(使用Quicklisp安装加载的示例代码):
(ql:quickload :cl-csv)
  1. 直接调用read-csv方法即可得到结构符合要求的二维嵌套列表:
(cl-csv:read-csv #P"filename.csv")

默认返回的列表中所有单元格值为字符串类型,如果你需要自动将数值单元格转为整数类型,可以加自定义映射参数:

(cl-csv:read-csv #P"filename.csv"
                 :map-fn (lambda (row)
                           (mapcar (lambda (cell)
                                     (or (parse-integer cell :junk-allowed t)
                                         cell))
                                   row)))

运行后即可得到你期望的((column_name width length vertical_r/f stirrup) (c1 9 12 4-12dia 8-150c/c))格式输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:45:03