Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将文件导入PhpMyAdmin中的数据库_Python_Csv_Phpmyadmin - Fatal编程技术网

Python 将文件导入PhpMyAdmin中的数据库

Python 将文件导入PhpMyAdmin中的数据库,python,csv,phpmyadmin,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, Eng

我想将文件导入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来实现这一点。提前谢谢你的帮助,我被困住了

登录PHPMyAdmin,然后执行以下操作:

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

5.单击Go

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

好消息是,您的数据格式使这变得非常简单。取前四个空格,并将其转换为特殊字符(可能是
~
,数据中其他任何地方都不会出现的字符)。您可以使用您最喜欢的流编辑器或文本操作程序(sed、awk、perl和python都是这项工作的理想候选者)来完成这项工作

有很多方法可以做到这一点(为了了解存在多少种不同的方法,请注意,问题在于处理整个文件,我们希望处理单独的行),但最简单的方法可能是运行sed四次:

for i in $(seq 4) ; do sed -i -e 's/ /~/' ~/import.csv  ; done
请确保使用文件副本执行此操作,因为这将在位编辑指定的文件。

在phpMyAdmin导入选项卡中,您将使用
~
(或您使用的任何分隔符)作为“以分隔的列:”的值,并将所有其他项留空,但在“以以下结尾的行”中保留“自动”:

您的导入设置应如下所示(同样,将需要的任何字符替换为分隔符):


这有什么帮助?传入的数据不是逗号分隔的,因此至少有些设置需要更改,但鉴于数据格式,即使这样也无法完成任务。@IsaacBennetch他一直在苦苦寻找导入CSV的选项,我向他展示了这一点,其余的他都能找到。