AIGC标识 CSV 预览工具:拖进文件秒看清数据

CSV 预览工具:拖进文件秒看清数据

摘要:用码道 AI 编程助手在约 2 分钟内生成单文件 CSV 预览与筛选工具:支持拖拽/选择加载 CSV、表格展示与分页、多列排序、关键词搜索过滤、行数统计,纯前端实现,界面美观,响应式布局。


码道 TUI 安装

码道 CLI 官方提供 Windows 与 macOS/Linux 两种安装方式,按自己的系统选一种即可。

Windows(仅支持在 PowerShell 执行)

# 1. 一键安装
irm https://cnnorth4-cloudide-marketplace.obs.cn-north-4.myhuaweicloud.com/codearts/cli_tui/install_script/install.ps1 | iex

# 2. 配置环境变量
$env:CODEARTS_CLI_AK="你的AK"
$env:CODEARTS_CLI_SK="你的SK"

# 3. 启动 TUI
codearts

macOS / Linux(终端)

# 1. 一键安装
sh -c "$(curl -L https://cnnorth4-cloudide-marketplace.obs.cn-north-4.myhuaweicloud.com/codearts/cli_tui/install_script/install.sh)"

# 2. 配置环境变量
export PATH=~/.codeartsdoer/installers:$PATH
export CODEARTS_CLI_AK=你的AK
export CODEARTS_CLI_SK=你的SK

# 3. 启动 TUI
codearts

安装成功后终端会回显码道 CLI 的版本号。如果还没用过码道,可以免费开通体验版试试:

AK/SK 获取:https://codearts.huaweicloud.com/portal/settings/cli-auth

👉 还没有码道?立即开通体验:https://developer.huaweicloud.com/codeartsco.html?source=dmzntgwsf&sourcead=dmzntgwwbwz

1. 开篇

在日常数据分析工作中,我们经常需要快速预览 CSV 文件内容——查看有哪些列、数据长什么样、按某列排序或搜索特定记录。每次都打开 Excel 或编写 Python 脚本太繁琐。今天,我们用码道 AI 编程助手(CodeArts)一键生成一个 CSV 预览与筛选工具,所有功能在浏览器中运行,零依赖。


2. 码道 AI 编程助手简介

码道(CodeArts) 是华为云推出的 AI 编程助手,支持自然语言描述需求自动生成代码。它基于 OpenCode 内核,可以在终端中以命令行模式运行,也可以通过 TUI(终端用户界面)交互式开发。

开通地址:https://developer.huaweicloud.com/codeartsco.html

CLI 认证密钥获取:https://codearts.huaweicloud.com/portal/settings/cli-auth

安装后通过 codearts run "需求描述" 即可让码道根据需求生成代码。


3. 任务描述

本次任务:创建一个单文件 HTML CSV 预览与筛选工具,具体需求如下:

  • ✅ 支持拖拽或选择 CSV 文件加载
  • ✅ 表格化展示 CSV 数据,支持分页(每页 20 条)
  • ✅ 支持多列排序(点击表头切换升序/降序)
  • ✅ 支持关键词搜索过滤所有列
  • ✅ 显示总行数和当前筛选行数
  • ✅ 纯前端实现,界面美观整洁,响应式布局

4. 开发过程

4.1 启动码道

在终端中运行码道,输入需求:

codearts run "创建一个单文件HTML CSV预览与筛选工具,功能包括:1) 支持拖拽或选择CSV文件加载 2) 表格化展示CSV数据,支持分页 3) 支持多列排序 4) 支持关键词搜索过滤 5) 显示行数统计。纯前端实现,界面美观,响应式布局。"

码道初始界面

4.2 码道生成代码

码道在约 2 分钟内完成代码生成,输出了一个完整的 HTML 文件,包含:

  • CSS 样式:渐变色背景、圆角卡片、hover 动效、响应式媒体查询
  • HTML 结构:文件上传区、拖放区、搜索框、数据表格、分页控件
  • JavaScript 逻辑:CSV 解析、排序、搜索过滤、分页、统计显示

所有代码保存在 csv-viewer.html 中,总计约 400 行。


5. 代码解析

5.1 CSV 解析

function parseCSV(text) {
    const lines = text.split('\n')
        .map(line => line.trim())
        .filter(line => line.length > 0);
    const headers = lines[0].split(',').map(h => h.trim());
    const data = [];
    for (let i = 1; i < lines.length; i++) {
        const values = lines[i].split(',');
        const row = {};
        headers.forEach((header, index) => {
            row[header] = values[index] ? values[index].trim() : '';
        });
        data.push(row);
    }
    rawData = data;
    filteredData = [...rawData];
    // ...
}

码道自动生成了健壮的 CSV 解析逻辑:先按行分割,提取表头,再将每行数据映射为键值对对象,方便后续操作。

5.2 排序功能

function sortByColumn(columnIndex) {
    const headers = Object.keys(filteredData[0]);
    const header = headers[columnIndex];
    if (sortColumn === columnIndex) {
        sortDirection = sortDirection === 'asc' ? 'desc' : 'asc';
    } else {
        sortColumn = columnIndex;
        sortDirection = 'asc';
    }
    filteredData.sort((a, b) => {
        let valA = a[header], valB = b[header];
        const numA = parseFloat(valA), numB = parseFloat(valB);
        if (!isNaN(numA) && !isNaN(numB)) { valA = numA; valB = numB; }
        if (valA < valB) return sortDirection === 'asc' ? -1 : 1;
        if (valA > valB) return sortDirection === 'asc' ? 1 : -1;
        return 0;
    });
    // ...
}

排序逻辑支持数值和文本混合排序——先尝试将值解析为数字,如果两边都是数字则按数值比较,否则按字符串比较。点击同一列可在升序/降序间切换。

5.3 搜索过滤

function filterData() {
    const keyword = searchInput.value.trim().toLowerCase();
    if (keyword === '') {
        filteredData = [...rawData];
    } else {
        filteredData = rawData.filter(row => {
            return Object.values(row).some(value =>
                value.toString().toLowerCase().includes(keyword)
            );
        });
    }
    // ...
}

搜索过滤使用了防抖(debounce)技术,300ms 延迟避免频繁触发,搜索范围覆盖所有列,输入关键词即可即时筛选。


6. 运行效果

我们准备了一份包含 30 条员工信息的测试 CSV 数据来验证工具功能。

6.1 数据加载

拖放 CSV 文件后,工具自动解析并显示表格,表头带排序指示器(↕),底部显示总行数 30、筛选后 30,分页自动计算为 2 页。

数据加载效果

6.2 搜索过滤

在搜索框中输入"技术部",工具实时过滤,筛选结果从 30 条变为 13 条——全部是技术部员工。分页也自动变为 1 页。

搜索过滤

6.3 排序演示

点击"薪资"表头按薪资升序排列:实习生林四(¥8,000)排在最前,首席架构师韩八(¥55,000)排在第二页末尾。再次点击可切换为降序。

按薪资排序


7. 能力总结

码道 AI 编程助手在这次任务中展现了以下能力:

能力维度 表现
需求理解 准确理解 5 项功能需求,无一遗漏
代码质量 生成约 400 行完整、可运行的 HTML/CSS/JS 代码
UI 设计 渐变色背景、圆角卡片、hover 动效、响应式布局
功能实现 CSV 解析、排序(数值/文本混合)、搜索过滤(防抖)、分页
生成速度 约 2 分钟完成全部代码输出

8. 总结

通过一个简单的自然语言描述,码道 AI 编程助手在 2 分钟内生成了一个功能完善的 CSV 预览与筛选工具。代码结构清晰,包含完整的错误处理、响应式布局和性能优化(防抖搜索),可以直接部署使用。

这不仅大幅提升了开发效率,也降低了小工具的创建门槛——即使是编程初学者,只需描述需求就能获得一个可用的工具。对于有经验的开发者,码道生成的代码也可以作为快速原型基础,在此基础上二次开发。


本文由码道 AI 编程助手协作完成,工具代码和截图均为真实生成结果。

相关资源:

posted @ 2026-08-12 10:07  新科技观察员  阅读(10)  评论(0)    收藏  举报