通过phpmyadmin将csv文件导入mysql
Posted
技术标签:
【中文标题】通过phpmyadmin将csv文件导入mysql【英文标题】:Import a csv file into mysql through phpmyadmin 【发布时间】:2013-07-21 03:25:54 【问题描述】:我正在尝试通过 phpmyadmin 将 csv 文件导入 mysql 我的做法如下:
1- 导入
2- 选择文件(test.csv)
3- 格式 csv
4- 用: , 分隔的列
5- 用“
括起来的列6- 列转义为:\
7- 以:auto 结尾的行
8- 列名:(我的列的列表,逗号分隔)
但我总是遇到同样的错误:第 1 行的 CSV 输入中的列数无效。
我也在尝试使用加载数据格式的csv,但是插入到数据库中的值不正确。
编辑: 我的 csv 行:
3861 23 Zougheib NULL http://www.mobigate.mobi:8081/ABC/upload/23/ts1Copy2.jpg http://www.mobigate.mobi:8081/ABC/upload/23/s1Copy2.jpg IMAGE_AND_ARTICLE http://www.mobigate.mobi:8081/ABC/upload/23/ts1Copy2.jpg Meet us at ABC Achrafiyeh and ABC Dbayeh every day from 10 am to 10 pm and learn about our new collection. 0 NULL 0 0 0 NULL NULL NULL NULL 0 0 1 0 0 APPROVED interface 0 ("36") <html><style type='text/css'>a text-decoration:none; color:#fff.shops pcolor:#fff; line-height: .9 em; margin-top: 2px.shops color: #fff.alignleft float: left;width:50%;text-align:left;.aligncenter float: left;width:10%;text-align:center;.alignright float: left;width:40%;text-align:right;.floatright float: right</style><div class='shops'><div id='openinghours'><p class='alignleft'>OPENING HOURS</p><p class='floatright'>10:00 AM - 11:00 PM</p></div><div id='place1'><p class='alignleft'><a href='achrafieh'>>ABC ACHRAFIEH</a></p><p class='aligncenter'>L1</p><p class='alignright'><a href='tel:01212888'>01212888</a></p></div></div> </html> NULL 10:00 - 22:00 ABC ACHRAFIEH none L1 L0 1212888 NULL
我的栏目名称:
CONTENT_ID,CHANNEL_ID,TITLE,DESCRIPTION,LINK,THUMBNAIL_LINK,MEDIA_TYPE,ARTICLE_MEDIA_LINK,ARTICLE_TEXT,POINTS,LOCATION_NAME,LOCATION_LONGITUDE,LOCATION_LATITUDE, LOCATION_RADIUS,AD_POSITION, APP_PACKAGE_NAME,APP_IMAGE_SCALE,APP_IMAGE_POSITION,SHOW_DATE, SHOW_START_TIME,SHOW_END_TIME,AD_FREQUENCY_OF_SHOWING,AD_IS_INTERRUPTABLE,STATUS,SOURCE,NOTIFY_USERS,TAGS,ARTICLE_HTML,contentcol,HTML_HOURS,HTML_LOCATION1,HTML_LOCATION2,HTML_LEVEL1,HTML_LEVEL2, HTML_PHONE1,HTML_PHONE2
有什么帮助吗?
【问题讨论】:
我们看不到 CSV 文件的第一行吗? 计算 CSV 文件第 1 行的列数,然后计算您在第 8 步中输入的列数。错误消息显示它们不一样。 @Miklos Aubert:列数一样 签入数据库,运行sql查询show create table your_table
,也许你有AUTO_INCREMENT ID并尝试导入新的固定ID
@mirkobrankovic:我的第一列是 AUTO_INCREMENT。我已将其从 csv 文件中删除,并在“列名”中列出了除自动增量一之外的所有列。还是不行
【参考方案1】:
我可以建议使用“OpenDocument 电子表格 (ODS)”导入选项(phpmyadmin 3.3.0 及更高版本)吗?它非常快速、可靠,并且会创建一个新表,让您的数据得到安全管理。
【讨论】:
【参考方案2】:看来:
用 \t 分隔的列(用于制表符) 包含以下内容的列:[NOTHING]试着告诉我们。
【讨论】:
【参考方案3】:我也有这个问题。然后我扫描了 csv 电子表格(它是别人准备的),发现有几行有额外的字段。编辑这些行(并责骂准备 CSV 的人)后,一切正常。
【讨论】:
以上是关于通过phpmyadmin将csv文件导入mysql的主要内容,如果未能解决你的问题,请参考以下文章
phpmyadmin (CSV) 中的 MySQL 导入阻塞引号
使用 phpmyadmin 将单列 csv 文件导入 mysql
使用 phpMyAdmin 将带有部分数据的制表符分隔的 csv 文件导入 mysql 表