import pandas as pd
20 读取数据
20.1 坑
- 字符型数字被读取为数值型 → 以0开始的字符把0丢掉了。
- 解决方法:设置dtype参数,指定数据类型
= pd.read_excel('data.xlsx', dtype={'patid':str}) df
20.2 读取Excel文件
20.2.1 read_excel()的常见参数
pandas的read_excel函数是用于读取Excel文件的函数,它有许多参数可用于控制读取的行为。以下是read_excel函数的常用参数及其说明:
io
:要读取的Excel文件的路径(字符串)或文件类对象。也可以是一个URL链接、一个ExcelFile对象等。sheet_name
:要读取的工作表的名称或索引。默认为0,表示第一个工作表。可以是字符串(工作表名称)或整数(工作表索引)。header
:指定作为列名的行号,默认为0,表示使用第一行作为列名。如果设置为None,将不使用列名,数据将从第一行开始。names
:指定列名列表。如果设置了header=None,可以使用names参数为每列指定自定义的列名。index_col
:指定作为行索引的列号或列名。默认为None,表示不使用行索引。usecols
:要读取的列的列表。可以是列号(从0开始)或列名。skiprows
:要跳过的行数(从文件开始处计算)。可以是整数或列表。skip_footer
:要跳过的行数(从文件末尾计算)。通常用于跳过页脚或其他无关的内容。nrows
:要读取的行数。默认为None,表示读取所有行。parse_dates
:要解析为日期的列的列表。可以是列号或列名。date_parser
:用于解析日期的函数。默认使用pandas的默认日期解析器。na_values
:要识别为NaN的值的列表。可以是单个值,也可以是列表。thousands
:用于指定数字千位分隔符的字符。decimal
:用于指定小数点符号的字符。converters
:一个字典,用于指定对特定列进行自定义数据转换的函数。
20.2.2 获取工作表的名称
# 加载Excel文件
= pd.ExcelFile('path_to_file.xlsx')
xls
# 获取所有工作表名称
= xls.sheet_names sheet_names
20.3 读取文本
from io import StringIO
= '''符号 功能
html_str AND 逻辑“与”
OR 逻辑“或”
NOT 逻辑“非”'''
# 使用 StringIO 来创建一个文件类似对象
= StringIO(html_str)
string_file
# 读取文件类似对象为 DataFrame
= pd.read_csv(string_file, sep='\t') # 因为字符串是用制表符分隔的,所以指定 sep='\t'
df
# 关闭 StringIO 对象(虽然在这个例子中不是必须的,因为 Python 的垃圾回收会处理它)
string_file.close()
= df.copy()
df6
df6
符号 | 功能 | |
---|---|---|
0 | AND | 逻辑“与” |
1 | OR | 逻辑“或” |
2 | NOT | 逻辑“非” |