Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.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 将sql文件读入数据帧_Python_Mysql_Sql_Pandas - Fatal编程技术网

Python 将sql文件读入数据帧

Python 将sql文件读入数据帧,python,mysql,sql,pandas,Python,Mysql,Sql,Pandas,我已经浏览了过去的文章,但我很难弄清楚连接对象应该使用什么。我试图在这里得到一个快速的解决方案,它不需要我花费数天的时间学习SQL,因为我对学习所有这些都不感兴趣。我有一个.sql文件,我只想把其中的数据放到一个数据框中。下面是.sql文件的一个示例: DROP TABLE IF EXISTS `championship`; CREATE TABLE IF NOT EXISTS `championship` ( `id` int(11) NOT NULL, `year` int(11) NO

我已经浏览了过去的文章,但我很难弄清楚连接对象应该使用什么。我试图在这里得到一个快速的解决方案,它不需要我花费数天的时间学习SQL,因为我对学习所有这些都不感兴趣。我有一个.sql文件,我只想把其中的数据放到一个数据框中。下面是.sql文件的一个示例:

DROP TABLE IF EXISTS `championship`;
CREATE TABLE IF NOT EXISTS `championship` (
`id` int(11) NOT NULL,
  `year` int(11) NOT NULL,
  `position` int(11) NOT NULL,
  `_driver` int(11) NOT NULL,
  `points` float NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1271 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

TRUNCATE TABLE `championship`;

INSERT INTO `championship` VALUES(1, 1950, 1, 15, 30);
...[bunch of entries]...
INSERT INTO `championship` VALUES(1390, 2020, 23, 1191, 0);


ALTER TABLE `championship`
 ADD PRIMARY KEY (`id`), ADD KEY `_driver` (`_driver`);

ALTER TABLE `championship`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=1391;

ALTER TABLE `championship`
ADD CONSTRAINT `championship_ibfk_1` FOREIGN KEY (`_driver`) REFERENCES `drivers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

我所拥有的只是保存为“champosion.sql”的文件,所以当涉及到创建引擎和连接时,我不知道该放什么,比如用户名、密码、端口等。熊猫似乎需要这种连接来读取文件。

你不能使用
pandas
从sql脚本提取数据。您需要针对数据库服务器运行脚本,以填充数据库,然后针对该数据库运行查询(例如
SELECT*FROM contraction
),然后将结果传递给pandas以创建数据帧。试着在这里阅读。。。或者,使用文本编辑器手动将其更改为仅包含数据的csv文件,然后可以使用pandas解析csv文件。您甚至可以通过编程方式对其进行解析,但是您必须非常小心文件的结构,以避免错误地假设如何处理该文件。这两个选项都不涉及
pandas
能够神奇地从脚本中提取数据。