【问题标题】:Is there a way to import a CSV comma delimited file into mysql?有没有办法将 CSV 逗号分隔文件导入 mysql?
【发布时间】:2020-11-01 02:45:24
【问题描述】:

您好,我是网络开发新手。

我正在尝试使用“表数据导入向导”将 CSV 文件导入 mysql 工作台。但是,我读过我的文件需要是 CSV (MS-DOS),或者我收到以下错误:无法分析文件。请尝试更改编码类型。如果这没有帮助,可能文件不是:csv,或者文件是空的。

我不能使用 CSV (MS-DOS),因为我的数据包含许多不同的特殊字符,包括来自北欧的那些。当我将 CSV(逗号分隔)转换为 CSV(MS-DOS)时,特殊字符不再相同。

有没有办法将 CSV 逗号分隔文件导入 mysql 工作台?或者是否有更好的解决方案将我的数据放入表中,例如以某种方式在 MS-DOS 文件中保持特殊字符相同?

【问题讨论】:

    标签: mysql database csv character-encoding mysql-workbench


    【解决方案1】:

    您可以毫无问题地导入常规 CSV,只需确保编码匹配即可。

    类似

    LOAD DATA
        INFILE yourfile.csv
        INTO TABLE tablename
        FIELDS
            TERMINATED BY ','
            ENCLOSED BY '"'
        LINES
            TERMINATED BY '\n'
        IGNORE 1 LINES
    

    应该可以。如果您的 CSV 没有标题,请从代码中删除 ignore 1 lines 行。如果您的格式不同,请相应地更改封闭字符和终止字符。

    您可以在manual. 中查找确切的语法

    【讨论】:

      【解决方案2】:

      您的 CSV 应该可以正常工作。你只需要Load Data Infile

      您可能需要定义这些设置

      LOAD DATA INFILE 'c:/tmp/discounts.csv' 
      INTO TABLE discounts 
      -- comma seperated? maybe pipes '|'?
      FIELDS TERMINATED BY ',' 
      -- what surrounds input and is it optional? then add OPTIONALLY before ENCLOSED
      ENCLOSED BY '"'
      -- what is at the end of files
      LINES TERMINATED BY '\n'
      -- how many header rows are there, if any?
      IGNORE 1 ROWS;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-30
        • 2016-09-11
        • 2021-07-13
        • 2017-06-24
        • 2016-09-23
        • 1970-01-01
        • 1970-01-01
        • 2018-04-03
        相关资源
        最近更新 更多