一、从xlsx文件中提取数据
pandas.read_excel(
io,
sheet_name=0,
header=0,
names=None,
index_col=None,
usecols=None,
squeeze=False,
dtype=None,
ngine=None,
converters=None,
true_values=None,
false_values=None,
skiprows=None,
nrows=None,
na_values=None,
keep_default_na=True,
verbose=False,
parse_dates=False,
date_parser=None,
thousands=None,
comment=None,
skip_footer=0,
skipfooter=0,
convert_float=True,
mangle_dupe_cols=True,
**kwds)
常用参数:
- io : 文件路径;
- sheet_name : 指定sheet;
- index_col : 指定行索引,用 .xlsx 文件中的第几列作为行索引;
- header : 指定列索引,默认为0,即用第一行作为列索引;
- usecols : 指定导入列。
示例代码:
# 提取桌面的tmp.xlsx文件中第2个sheet中的数据,只提取第一列的数据
import pandas as pd
df = pd.read_excel(r"C:\Users\hxy\Desktop\tmp.xlsx",sheet_name=1,usecols=0)
二、从CSV文件中提取数据
pd.read_csv(
filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]],
sep=',',
delimiter=None,
header='infer',
names=None,
index_col=None,
usecols=None,
squeeze=False,
prefix=None,
mangle_dupe_cols=True,
dtype=None,
engine=None,
converters=None,
true_values=None,
false_values=None,
skipinitialspace=False,
skiprows=None,
skipfooter=0,
nrows=None,
na_values=None,
keep_default_na=True,
na_filter=True,
verbose=False,
skip_blank_lines=True,
parse_dates=False,
infer_datetime_format=False,
keep_date_col=False,
date_parser=None,
dayfirst=False,
cache_dates=True,
iterator=False,
chunksize=None,
compression='infer',
thousands=None,
decimal=b'.',
lineterminator=None,
quotechar='"',
quoting=0,
doublequote=True,
escapechar=None,
comment=None,
encoding=None,
dialect=None,
error_bad_lines=True,
warn_bad_lines=True,
delim_whitespace=False,
low_memory=True,
memory_map=False,
float_precision=None)
常用参数:
- filepath : 文件路径;
- sep : 指定分隔符,默认为逗号;
- nrows : 指定读取行数;
- encoding : 指定编码格式,常用为 utf-8 和 gbk ;
- engine : {‘c’, ‘python’}, 可选。当文件路径或文件名中包含中文时可能报错,这时需要指定 engine = "python",并指定编码为 utf-8-sig 或 gbk 。
示例代码:
# 提取桌面的"临时.csv"文件,分隔符为空格
import pandas as pd
df = pd.read_csv(
r"C:\Users\hxy\Desktop\临时.csv",
sep=" ",
engine="python",
encoding="utf-8-sig")
三、从txt文件中提取数据
pd.read_table(
filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]],
sep='t',
delimiter=None,
header='infer',
names=None,
index_col=None,
usecols=None,
squeeze=False,
prefix=None,
mangle_dupe_cols=True,
dtype=None,
engine=None,
converters=None,
true_values=None,
false_values=None,
skipinitialspace=False,
skiprows=None,
skipfooter=0,
nrows=None,
na_values=None,
keep_default_na=True,
na_filter=True,
verbose=False,
skip_blank_lines=True,
parse_dates=False,
infer_datetime_format=False,
keep_date_col=False,
date_parser=None,
dayfirst=False,
cache_dates=True,
iterator=False,
chunksize=None,
compression='infer',
thousands=None,
decimal=b'.',
lineterminator=None,
quotechar='"',
quoting=0,
doublequote=True,
escapechar=None,
comment=None,
encoding=None,
dialect=None,
error_bad_lines=True,
warn_bad_lines=True,
delim_whitespace=False,
low_memory=True,
memory_map=False,
float_precision=None)
常用参数:
- filename : 文件路径
- sep : 指定分隔符
示例代码:
# 从桌面的 tmp.txt 文件中提取数据,分隔符为逗号
import pandas as pd
df = pd.read_table(r"C:\Users\hxy\Desktop\tmp.txt",sep=",")
四、从sql中提取数据
- 相关模块:pymysql
- 相关方法:pymysql.connect()
常用参数:
- host : 主机名或地址
- user : 用户名
- password : 密码
- db : 数据库名
- charset : 数据库编码,一般为 utf8
pd.read_sql(
sql,
con,
index_col=None,
coerce_float=True,
params=None,
parse_dates=None,
columns=None,
chunksize=None)
常用参数:
- sql : sql语句
- con : pymysql.connect()的返回
示例代码:
#读取本地数据库testdb中的表memberinfo,用户名为hxy,密码为passwd
import pandas as pd
import pymysql
sql = "SELECT * FROM memberinfo"
eng = pymysql.connect(
host='localhost',
user='hxy',
password='passwd',
db='testdb',
charset='utf8')
df = pd.read_sql(sql,eng)