查询 CSV 文件

查询 CSV 文件

有谁知道有一个简单的工具可以打开 CSV 文件并让你对其执行基本的 SQL 查询?就像某种图形工具一样,易于使用。

我知道我可以编写一个小脚本,以将CSV导入到SQLITE数据库中,但是由于我想象其他人在我面前想到了这一点,所以我只是想询问是否存在这个问题。

也许其他一些数据可视化操作工具可以提供类似的功能。

我优先考虑免费或 OSS,但我也愿意接受任何建议。

编辑:

我真的更喜欢关于如何进行以下操作的一些清晰的教程,而不仅仅是“使您的工作表成为ODBC条目”或“使用ODBC文件编写程序”,或者在应用程序上使用更多想法:我无法使用MS Access。

又一次编辑:

我仍然可以使用SQLITE进行解决方案。

答案1

你有没有尝试过日志解析器

日志解析器是一款功能强大、用途广泛的工具,可提供对文本数据(例如日志文件、XML 文件和 CSV 文件)以及 Windows® 操作系统上的关键数据源(例如事件日志、注册表、文件系统和 Active Directory®)的通用查询访问。您可以告诉日志解析器您需要什么信息以及您希望如何处理这些信息。查询结果可以自定义格式为文本输出,也可以保存到更专业的目标(例如 SQL、SYSLOG 或图表)。

大多数软件旨在完成数量有限的特定任务。

A教程(以及另一个) 使用类似 SQL 的查询语言处理 CSV 文件使用谷歌找到

示例查询:

logparser -i:CSV "SELECT TOP 10 Time, Count INTO c:\logparser\test\Chart.GIF 
FROM c:\logparser\test\log.csv ORDER by Time DESC" -charttype:bar3d

答案2

我认为OpenOffice.org 数据库可以做你想做的事。它的工作原理如下。

  1. 启动 Open Office.org 数据库,它显示“数据库向导

  2. 选择 ”连接到现有数据库:文本

    在此处输入图片描述

  3. 指定文本文件的路径以及分隔符等详细信息。

    在此处输入图片描述

  4. 创建并执行查询

    在此处输入图片描述

如果您曾经使用过 Microsoft Access,您会发现它的 GUI 很熟悉。


如果您可以在没有GUI的情况下做传统的Unix命令。

clause      operation   command
-------------------------------
from             join     `join`
where     restriction     `grep`
order by           --     `sort`
group by  restriction      `awk`
having    restriction     `grep`
select     projection      `cut`
distinct  restriction     `uniq`
limit     restriction     `head`
offset    restriction     `tail`

答案3

您可以使用 ODBC 查询文本文件:

使用 ODBC 数据提供程序访问文本文件

笔记您不需要MS访问才能正常工作,以上链接中的教程仅使用MS访问来创建文本文件,但是由于您已经有一个文本文件,请向下滚动,然后启动教程,您可以在其中看到标题访问文本文件

更新:我自己在 .csv 文件上创建了一个 DSN,以便能够创建这个分步教程……它如下:

  • 确保您的.csv 文件位于其自己的目录中,没有其他任何内容。
  • 打开“ODBC数据源管理器”(开始-控制面板-管理工具-数据源(ODBC))。
  • 转到文件 DSN 选项卡并单击“添加...”。
  • 从列表中选择“Microsoft Text Driver (*.txt, *.csv)”并单击“下一步>”。
  • 为您的文件数据源命名(例如“测试”),然后单击“下一步>”。
  • 单击“完成”(此后,将出现一个对话框,其中“数据源名称”和“描述”字段确实显示为灰色。这是正常的。不用担心。
  • 取消选中“使用当前目录”复选框。“选择目录”按钮将被启用。
  • 单击“选择目录”按钮并导航到您在第一步中放置.csv 文件的文件夹。
  • 点击“选项>>”按钮。
  • 单击“定义格式...”按钮。
  • 在左侧的“表格”列表中,选择您的 .csv 文件并单击“猜测”按钮。(这将分析您的 csv 文件并为 .csv 文件中的每一列创建适当的字段。)
  • 浏览右侧列表中生成的列(F1、F2、...),赋予它们有意义的名称并设置适当的数据类型(有时猜测并不总是正确的)。
  • 一切设置正确后,单击“确定”(2次)。

此时,您应该有一个文件 DSN,您可以使用它通过 ODBC 访问您的 .csv 文件。如果您检查放置 .csv 文件的文件夹,您将看到一个 schema.ini 文件,其中包含您刚刚创建的配置。当您有多个 .csv 文件时,每个文件都对应一个表,每个表都有一个 [文件名.csv] 块在 schema.ini 文件中定义不同的列...您也可以直接在文本编辑器中创建/更改该 schema.ini 文件,而不必使用上面描述的 GUI。

至于您的额外问题“如何使用查询工具连接到此 ODBC 提供程序”:
我很久以前就自己编写了一个工具,但不符合发布条件。但快速谷歌搜索后,我找到了odbc 视图,一款可以满足你需求的免费工具。
我下载并安装了该工具。
启动该工具后:

  • 点击“数据源...”。
  • 选择您之前创建的文件数据源(例如“测试”)。
  • 在查询窗格中键入“select * from [文件名.csv]”。
  • 单击“执行”。

您现在应该可以在下方窗格中看到 .csv 文件的内容。
希望这对您有所帮助...请告诉我您的情况或是否需要进一步的帮助。

答案4

我喜欢用R以快速方式访问 csv 文件。虽然该语言不是直接的 SQL,但您可以使用 R 中的简单命令完成所有这些操作。R 还为您提供了制作精美图表的能力和许多其他功能。

相关内容