【问题标题】:How to convert a CSV into a SQLite database using C#如何使用 C# 将 CSV 转换为 SQLite 数据库
【发布时间】:2020-07-24 10:04:22
【问题描述】:

我正在努力弄清楚如何将 CSV 文件转换为数据库。我在这里尝试了一些方法,但我无法理解它。我有一个包含数千行的 CSV 文件,我需要将其转换为 使用 C# 的 SQLite 数据库。任何帮助表示赞赏!

【问题讨论】:

  • 这个没有正确答案。虽然我建议通过查看 CSV 及其包含的数据类型来手动创建数据库。完成后,编写一些代码以加载 CSV 并将数据插入数据库。
  • @KingOfArrows 这将是一个简单的解决方案,也许不是完全转换数据库,我可以只要求用户输入列数和列名、属性等,然后加载CSV 中的数据?
  • 我无法就您是否应该从用户那里获取此信息或让用户为您创建数据库提供建议。这是你自己决定的事情。
  • 欢迎您!请阅读此内容:stackoverflow.com/help/how-to-ask 并在此处浏览:stackoverflow.com/tour 然后编辑您的问题以获得良好的答案和反馈

标签: c# database sqlite


【解决方案1】:

您可以利用 MS Excel,打开 CSV 文件并根据需要指定字符分隔符(我相信它会默认为制表符限制)。您现在可以将数千行保存为 Excel 电子表格,而不是字符分隔文件 (CSV) 格式。

然后,您可以利用开源 OpenXML 库打开 Excel 文档并使用对象模型对其进行处理。在面向对象的方式中,您可以使用 SQL 语句以编程方式创建新数据库。

查询要用作列名的电子表格标题。当然,您需要确保您的源 CSV 提供了适当的标题。如果没有,这些可以很容易地添加到大文件的顶部。

例如

https://docs.microsoft.com/en-us/office/open-xml/how-to-get-a-column-heading-in-a-spreadsheet

接下来,您只需迭代行并构造 SQL 语句来插入行。您可以查看 Open XML 文档、Microsoft 文档或现有的 StackOverflow 文档,以获取有关如何轻松完成此操作的示例代码。 How to read xslx with open XML SDK based on columns in each row in C#?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 2013-09-17
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    相关资源
    最近更新 更多