在PhpMyAdmin

时间:2016-02-23 12:47:58

标签: python csv phpmyadmin

我想将文件导入phpmyadmin数据库。它有5列:id,url,lat,lon和address。但是,文件的每一行结构如下:

23947501894 https://farm2.staticflickr.com/1664/23947501894_09e21ac1c4_q.jpg 53.404021 -2.996651 Belgian Merchant Seamen, Queensway (Mersey Tunnel), Liverpool, North West England, England, CH41, United Kingdom

我要输入的大多数数据都是由一个空格分隔的,而不是它到达最后的地址时,它有很多空格和逗号。是否可以按原样将此数据输入数据库?如果是这样,任何人都可以建议我如何做到这一点?

我是phpmyadmin的新手,我正在使用python来执行此操作。在此先感谢您的帮助,我非常困难!

2 个答案:

答案 0 :(得分:1)

您必须在导入之前处理文本文件,因为分隔符也会根据您的数据显示未转义。

好消息是您的数据格式非常简单。取前四个空格并将它们转换为特殊字符(可能是;~,这些字符不会出现在数据中的任何其他位置)。您可以使用自己喜欢的流编辑器或文本操作程序(sed,awk,perl和python都是这项工作的合适人选)来完成此任务。

有很多方法可以做到这一点(see also these answers了解有多少种不同的方法存在,但请注意问题是关于整个文件的工作我们想要处理个人问题),但最简单的方法是运行sed四次:

for i in $(seq 4) ; do sed -i -e 's/ /~/' ~/import.csv  ; done

确保使用文件的副本执行此操作,因为这将就地编辑指定的文件。

然后,从您的phpMyAdmin导入选项卡,您将使用~(或您使用的任何分隔符)作为“使用:分隔的列”的值,并将所有其他分隔符留空,除了将“auto”留在“行终止于:“

您的导入设置应如下所示(再次,替换分隔符所需的任何字符):

Import settings

答案 1 :(得分:0)

登录PHPMyAdmin,然后执行:

[参考右框]
1.单击数据库选项卡和创建数据库
2.单击“导入选项卡” 3.单击“浏览”并选择csv文件
4.将格式从SQL更改为CSV 5.单击“开始”