pandas学习之txt与sql文件的基本操作指南

目录
  • 前言
  • 1.导入txt文件
  • 2.导入sql文件
    • 2.1 安装依赖库pymysql
  • 3.小结
  • 总结

前言

Pandas是python的一个数据分析包,是基于NumPy的一种工具提供了大量数据结构和函数,可以很方便的处理结构化数据,常见数据结构有:

Series:一维数组,与Numpy中的一维array类似。

DataFrame:二维的表格型数据结构,可以将DataFrame理解为Series的容器

Time- Series:以时间为索引的Series

Panel :三维的数组,可以理解为DataFrame的容器

1.导入txt文件

本文所使用到的test.txt的内容如下:

使用read_table()方法导入txt文件

import pandas as pd

df = pd.read_table(r'C:\Users\admin\Desktop\test.txt')
print(df)

result:

我是李华。 今天本来留下班里十几个人做大扫除结果他们都跑了,只留下了我一个人干完了所有活。 回家的路上真不巧又下了雨,
0  雨太大把我自行车前轮胎上的辐条都冲走了,我非常生气。 为了报复今天发生的一切,我骑着钢圈回到...        
1                                     并把教室里的椅子都扔了出去。

该方法是将利用分隔符分开的文件导入DataFrame的通用函数。不仅可以导入.txt文件,也可以导入.csv文件。

df = pd.read_table(r'C:\Users\admin\Desktop\中文\数据分析测试表.csv')
print(df)

result:

区域,省份,城市
0  东北,辽宁,大连
1  西北,陕西,西安
2  华南,广东,深圳
3  华北,北京,北京
4  华中,湖北,武汉

read_table()方法的其他参数用法和read_csv()方法基本一致,再此不再赘述。

2.导入sql文件

2.1 安装依赖库pymysql

python连接MySQL要用到pymysql,需要手动进行安装。

import pandas as pd
import pymysql

con = pymysql.connect(host='127.0.0.1',  # 数据库地址,本机为127.0.0.1或localhost
                      user='root',  # 用户名
                      password='123456',  # 密码
                      db='test',  # 数据库名
                      charset='utf-8')  # 数据库编码,一般为utf-8
sql = "select * from employees"
df = pd.read_sql(sql, con)
print(df)

此时报错

修改charset='utf8'后错误解决:

con = pymysql.connect(host='127.0.0.1',  # 数据库地址,本机为127.0.0.1或localhost
                      user='root',  # 用户名
                      password='123456',  # 密码
                      db='test',  # 数据库名
                      charset='utf8')  # 数据库编码,一般为utf-8
sql = "select * from employees"
df = pd.read_sql(sql, con)
print(df)

result:

eID NAME sex       birth jobs      firJob    hiredate
0    1   张三   男  1990-06-21   教师  2005-06-20  2009-08-26
1    2  鲁怀德   男  2004-06-29   工人  2018-08-01  2021-01-06
2    3  赵燕妮   女  1994-07-06  售货员  2004-09-21  2019-05-23

这里提供数据库查询结果作为比对:

注:python使用pymysql与MySQL交互时,编码方式只能写成utf8,不要习惯性地写成utf-8

3.小结

导入数据主要用到pandas里的read_x()方法,x表示待导入文件的格式

除了之前介绍的导入.xlsx文件的read_excel(),导入.csv文件的read_csv(),导入txt的read_table(),导入sql文件的read_sql()之外,

还有一些其他方法在此列出。这些使用到的不多,在此不做深入说明,。后面如有使用到再进行更新。

pd.read_xml()
pd.read_html()
pd.read_json()
pd.read_clipboard()
pd.read_feather()
pd.read_fwf()
pd.read_gbq()
pd.read_orc()

总结

到此这篇关于pandas学习之txt与sql文件基本操作的文章就介绍到这了,更多相关pandas之txt与sql文件操作内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • pandas 把数据写入txt文件每行固定写入一定数量的值方法

    我遇到的情况是:把数据按一定的时间段提出.比如提出每天6:00-8:00的每个数据,可以这样做: # -*-coding: utf-8 -*- import pandas as pd import datetime #读取csv文件 df=pd.read_csv('A_2+20+DoW+VC.csv') #求'ave_time'这一列的平均值 aveTime=df['ave_time'].mean() #把ave_time这列的缺失值进进行填充,填充的方法是按这一列的平均值进行填充 df2=df

  • python利用pandas将excel文件转换为txt文件的方法

    python将数据换为txt的方法有很多,可以用xlrd库实现.本人比较懒,不想按太多用的少的插件,利用已有库pandas将excel文件转换为txt文件. 直接上代码: ''' function:将excel文件转换为text author:Nstock date:2018/3/1 ''' import pandas as pd import re import codecs #将excel转化为txt文件 def exceltotxt(excel_dir, txt_dir): with co

  • 如何使用pandas读取txt文件中指定的列(有无标题)

    最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas as pd # 我们的需求是 取出所有的姓名 # test1的内容 ''' id name score 1 张三 100 2 李四 99 3 王五 98 ''' test1 = pd.read_table("test1.txt") # 这个是带有标题的文件 names = test1[&

  • pandas读取excel,txt,csv,pkl文件等命令的操作

    pandas读取txt文件 读取txt文件需要确定txt文件是否符合基本的格式,也就是是否存在\t,,,等特殊的分隔符 一般txt文件长成这个样子 txt文件举例 下面的文件为空格间隔 1 2019-03-22 00:06:24.4463094 中文测试 2 2019-03-22 00:06:32.4565680 需要编辑encoding 3 2019-03-22 00:06:32.6835965 ashshsh 4 2017-03-22 00:06:32.8041945 eggg 读取命令采用

  • pandas学习之txt与sql文件的基本操作指南

    目录 前言 1.导入txt文件 2.导入sql文件 2.1 安装依赖库pymysql 3.小结 总结 前言 Pandas是python的一个数据分析包,是基于NumPy的一种工具提供了大量数据结构和函数,可以很方便的处理结构化数据,常见数据结构有: Series:一维数组,与Numpy中的一维array类似. DataFrame:二维的表格型数据结构,可以将DataFrame理解为Series的容器 Time- Series:以时间为索引的Series Panel :三维的数组,可以理解为Dat

  • Python Pandas读写txt和csv文件的方法详解

    目录 一.文本文件 1. read_csv() 2. to_csv() 一.文本文件 文本文件,主要包括csv和txt两种等,相应接口为read_csv()和to_csv(),分别用于读写数据 1. read_csv() 格式代码: pandas.read_csv(filepath_or_buffer, sep=', ', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False

  • 如何利用PHP执行.SQL文件

    demo.php: 复制代码 代码如下: <?php/*** 读取 sql 文件并写入数据库* @version 1.01 demo.php*/class DBManager{    var $dbHost = '';    var $dbUser = '';    var $dbPassword = '';    var $dbSchema = ''; function __construct($host,$user,$password,$schema)    {        $this->

  • 在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)

    因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客户端软件,例如filezilla,使用服务器IP和root及密码,连接时一定要使用SFTP方式连接,这样才能连接到linux.注意,这种方法是不安全的,但我们这里没有ftp,如果要上传本地文件到服务器,没有更好更快的方法. 我们把database.sql上传到/tmp目录. 连接到linux,登录m

  • Spring项目里将SQL语句写在.sql文件中的方法

    前言 我们在使用 JDBC 时, 如果把所有的 SQL 语句全写在 Java 文件中, 由于 Java 不支持 Here Document, 多行字符串要么用加号, 要么用 Java 8 的 String.join() 方法来连接, 同时不能对 SQL 语句进行语法加亮, 所以这样的 SQL 字符串阅读性很差. 别说为何不用 Hibernate 之类的而不直接写原始的 SQL 语句, 在操作复杂的系统时还是会用到 JdbcTemplate 吧. 所以我们希望能把 SQL 语句写在单独的 *.sq

  • Python实现把json格式转换成文本或sql文件

    python如何将json格式的数据快速的转化成指定格式的数据呢?或者转换成sql文件? 下面的例子是将json格式的数据准换成以#_#分割的文本数据,也可用于生成sql文件. [root@bogon tutorial]# vi json2txt.py #-*- coding: UTF-8 -*- import json data = [] with open('./tencent_test.json') as f: for line in f: data.append(json.loads(l

  • mysql执行sql文件报错Error: Unknown storage engine‘InnoDB’的解决方法

    发现问题 最近在工作中遇到一个问题,在运行了一个innoDB类型的sql文件,报了Error: Unknown storage engine 'InnoDB'错误,网上查了很多方法,但是都没办法真正解决我的问题,后来解决了,在这里总结一下过程,方便有遇到类似情况的朋友们可以有的参照,下面话不多说,来一起看看详细的介绍吧. 解决过程: 我用的是MySql5.5版本的数据库.出现以上错误的时候先用命令->show engines;查看一下引擎详情: 发现并没有innodb这个条目: 然后我们查看日志

  • MYSQL导入导出sql文件简析

    一.MYSQL的命令行模式的设置 桌面->我的电脑->属性->环境变量->新建-> PATH=":path\mysql\bin;"其中path为MYSQL的安装路径. 二.命令行进入MYSQL的方法 1.C:\>mysql -h hostname -u username -p 按ENTER键,等待然后输入密码.这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root. 进入命令行后可以直接操作MYSQ

  • sqlserver中通过osql/ocmd批处理批量执行sql文件的方法

    利用osql/ocmd批处理批量执行sql文件 注意:在上图中我们可以看到osql 并不支持 SQL Server 2008的所有功能,如果需要使用SQL Server 2008的所有功能可以使用ocmd命令. 有了osql/ocmd命令要批量执行sql文件当然需要写一个批处理命令,例如我们执行上面sql文件就可以在txt中编写下面的语句: 复制代码 代码如下: osql -S"127.0.0.1" -U"sa" -P"sa" -d"N

随机推荐