Pandas学习之txt与sql文件的基本操作指南
在Pandas中,我们可以使用read_csv()来读取.csv文件,但是如果我们需要读取其他格式的文件,该怎么办呢?本文将介绍如何使用Pandas来读取.txt和.sql文件,并进行基本的操作。
读取txt文件
我们可以使用read_table()方法来读取.txt文件。例如,我们有一个叫做sample.txt的文件,内容如下:
name age city
Alice 25 Beijing
Bob 30 Shanghai
Charlie 35 Guangzhou
我们可以使用以下代码来读取txt文件:
import pandas as pd
df = pd.read_table('sample.txt', sep='\t')
print(df)
输出结果如下:
name age city
0 Alice 25 Beijing
1 Bob 30 Shanghai
2 Charlie 35 Guangzhou
在读取时,我们需要指定分割符(sep),因为.txt文件可能使用不同的分隔符。在这个例子中,我们使用了制表符作为分割符。
读取sql文件
我们可以使用read_sql()方法来读取.sql文件,这个方法需要连接到一个数据库。例如,我们有一个名为"example.db"的SQLite数据库,其中有一个名为"students"的表,我们可以使用以下代码来读取这个表:
import pandas as pd
import sqlite3
conn = sqlite3.connect('example.db')
df = pd.read_sql('SELECT * FROM students', conn)
print(df)
输出结果如下:
id name age city
0 1 Alice 25 Beijing
1 2 Bob 30 Shanghai
2 3 Tom 27 Nanjing
在读取时,我们需要先通过sqlite3.connect()方法连接到数据库,然后使用pd.read_sql()方法读取表格数据。
示例说明
示例一:读取分号分隔符的txt文件
我们有一个名为"sample.csv"的文件,内容如下:
name;age;city
Alice;25;Beijing
Bob;30;Shanghai
Charlie;35;Guangzhou
我们可以使用以下代码来读取分号分隔符的txt文件:
import pandas as pd
df = pd.read_table('sample.txt', sep=';')
print(df)
输出结果如下:
name age city
0 Alice 25 Beijing
1 Bob 30 Shanghai
2 Charlie 35 Guangzhou
在这个例子中,我们使用了分号作为分割符。
示例二:读取MySQL数据库中的数据
假设我们有一个名为"students"的表格,存储在一个名为"example"的MySQL数据库中。我们可以使用以下代码来读取这个表格:
import pandas as pd
import mysql.connector
cnx = mysql.connector.connect(user='user', password='password',
host='localhost',
database='example')
df = pd.read_sql('SELECT * FROM students', con=cnx)
print(df)
在这个例子中,我们使用了mysql.connector.connect()方法来连接到MySQL数据库,然后使用pd.read_sql()方法读取"students"表。需要注意的是,我们需要提供数据库的用户名、密码和主机名等信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas学习之txt与sql文件的基本操作指南 - Python技术站