pyspark.pandas.read_excel
的用法。用法:
pyspark.pandas.read_excel(io: Union[str, Any], sheet_name: Union[str, int, List[Union[str, int]], None] = 0, header: Union[int, List[int]] = 0, names: Optional[List] = None, index_col: Optional[List[int]] = None, usecols: Union[int, str, List[Union[str, int]], Callable[[str], bool], None] = None, squeeze: bool = False, dtype: Optional[Dict[str, Union[str, numpy.dtype, pandas.core.dtypes.base.ExtensionDtype]]] = None, engine: Optional[str] = None, converters: Optional[Dict] = None, true_values: Optional[Any] = None, false_values: Optional[Any] = None, skiprows: Union[int, List[int], None] = None, nrows: Optional[int] = None, na_values: Optional[Any] = None, keep_default_na: bool = True, verbose: bool = False, parse_dates: Union[bool, List, Dict] = False, date_parser: Optional[Callable] = None, thousands: Optional[str] = None, comment: Optional[str] = None, skipfooter: int = 0, convert_float: bool = True, mangle_dupe_cols: bool = True, **kwds: Any) → Union[pyspark.pandas.frame.DataFrame, pyspark.pandas.series.Series, collections.OrderedDict]
将 Excel 文件读入 pandas-on-Spark DataFrame 或系列。
支持来自本地文件系统或 URL 的
xls
和xlsx
文件扩展名。支持读取单个工作表或工作表列表的选项。- io:str、文件说明符、pathlib.Path、ExcelFile 或 xlrd.Book
该字符串可以是一个 URL。值 URL 必须在 Spark 的 DataFrameReader 中可用。
注意
如果底层 Spark 低于 3.0,则不支持字符串形式的参数。您可以使用
ps.from_pandas(pd.read_excel(…))
作为解决方法。- sheet_name:str、int、list 或 None,默认 0
字符串用于工作表名称。 zero-indexed 工作表位置使用整数。字符串/整数列表用于请求多张工作表。指定无以获取所有工作表。
可用案例:
默认为
0
:第一张纸作为DataFrame
1
:第二张纸作为DataFrame
"Sheet1"
:加载名称为 “Sheet1” 的工作表[0, 1, "Sheet5"]
:加载名为 “Sheet5” 的第一、第二和工作表作为DataFrame
的字典无:所有工作表。
- header:int,int 列表,默认 0
用于已解析 DataFrame 的列标签的行(0 索引)。如果传递了整数列表,则这些行位置将组合成
MultiIndex
。如果没有标题,请使用 None。- names:类似数组,默认 None
要使用的列名列表。如果文件不包含标题行,那么您应该显式传递 header=None。
- index_col:int,int 列表,默认无
列(0 索引)用作 DataFrame 的行标签。如果没有这样的列,则通过 None。如果传递了一个列表,这些列将被组合成一个
MultiIndex
。如果使用usecols
选择了数据子集,则 index_col 基于该子集。- usecols:int、str、list-like 或可调用的默认值无
返回列的子集。
如果没有,则解析所有列。
如果是 str,则表示 Excel 列字母和列范围的逗号分隔列表(例如 “A:E” 或 “A,C,E:F”)。范围包括双方。
如果是 int 列表,则表示要解析的列号列表。
如果是字符串列表,则表示要解析的列名列表。
如果可调用,则根据它评估每个列名并在可调用返回
True
时解析列。
- squeeze:布尔值,默认为 False
如果解析的数据只包含一列,则返回一个系列。
- dtype:类型名称或列的字典 -> 类型,默认无
数据或列的数据类型。例如: {‘a’: np.float64, ‘b’: np.int32} 使用
object
将数据保存在 Excel 中,而不是解释 dtype。如果指定了转换器,则将应用它们代替 dtype 转换。- engine:str,默认无
如果 io 不是缓冲区或路径,则必须将其设置为标识 io。可接受的值为 None 或 xlrd。
- converters:字典,默认无
用于转换某些列中的值的函数的字典。键可以是整数或列标签,值是接受一个输入参数的函数,即 Excel 单元格内容,并返回转换后的内容。
- true_values:列表,默认无
值视为 True。
- false_values:列表,默认无
要考虑为 False 的值。
- skiprows:list-like
在开头跳过的行(0 索引)。
- nrows:整数,默认无
要解析的行数。
- na_values:标量、str、list-like 或 dict,默认为 None
要识别为 NA/NaN 的附加字符串。如果 dict 通过,特定的 per-column NA 值。默认情况下,以下值被解释为 NaN。
- keep_default_na:布尔值,默认为真
如果指定了na_values并且keep_default_na为False,则默认的NaN值将被覆盖,否则将被附加。
- verbose:布尔值,默认为 False
指示放置在非数字列中的 NA 值的数量。
- parse_dates:bool,list-like,或 dict,默认为 False
行为如下:
布尔。如果 True -> 尝试解析索引。
int 或名称列表。例如如果 [1, 2, 3] -> 尝试将第 1、2、3 列分别解析为单独的日期列。
列表列表。例如如果 [[1, 3]] -> 合并第 1 列和第 3 列并解析为单个日期列。
字典,例如{{‘foo’: [1, 3]}} -> 将第 1、3 列解析为日期并调用结果 ‘foo’
如果列或索引包含不可解析的日期,则整个列或索引将作为对象数据类型原封不动地返回。对于非标准日期时间解析,请在
pd.read_csv
之后使用pd.to_datetime
注意:iso8601 格式的日期存在 fast-path。
- date_parser:函数,可选
用于将字符串列序列转换为日期时间实例数组的函数。默认使用
dateutil.parser.parser
进行转换。 pandas-on-Spark 将尝试以三种不同的方式调用date_parser
,如果发生异常则前进到下一种方式: 1) 传递一个或多个数组(由parse_dates
定义)作为参数; 2) 将parse_dates
定义的列中的字符串值连接(按行)到单个数组中并传递它; 3) 使用一个或多个字符串(对应于parse_dates
定义的列)作为参数,为每一行调用一次date_parser
。- thousands:str,默认无
用于将字符串列解析为数字的千位分隔符。请注意,此参数仅对在 Excel 中存储为 TEXT 的列是必需的,任何数字列都将被自动解析,无论显示格式如何。
- comment:str,默认无
注释掉行的剩余部分。将一个或多个字符传递给此参数以指示输入文件中的注释。注释字符串和当前行末尾之间的任何数据都将被忽略。
- skipfooter:整数,默认 0
最后要跳过的行(0 索引)。
- convert_float:布尔值,默认为真
将整数浮点转换为 int(即 1.0 -> 1)。如果为 False,则所有数字数据都将作为浮点数读入:Excel 在内部将所有数字存储为浮点数。
- mangle_dupe_cols:布尔值,默认为真
重复的列将被指定为“X”、“X.1”、……“X.N”,而不是“X”……“X”。如果列中存在重复名称,则传入 False 将导致数据被覆盖。
- **kwds:可选的
可选的关键字参数可以传递给
TextFileReader
。
- DataFrame 或 DataFrames 的字典
DataFrame 来自传入的 Excel 文件。有关何时返回 DataFrames 字典的更多信息,请参阅 sheet_name 参数中的注释。
参数:
返回:
例子:
可以使用文件名作为字符串或打开的文件对象来读取文件:
>>> ps.read_excel('tmp.xlsx', index_col=0) Name Value 0 string1 1 1 string2 2 2 #Comment 3
>>> ps.read_excel(open('tmp.xlsx', 'rb'), ... sheet_name='Sheet3') Unnamed: 0 Name Value 0 0 string1 1 1 1 string2 2 2 2 #Comment 3
可以通过
index_col
和header
参数指定索引和标题>>> ps.read_excel('tmp.xlsx', index_col=None, header=None) 0 1 2 0 NaN Name Value 1 0.0 string1 1 2 1.0 string2 2 3 2.0 #Comment 3
列类型是推断的,但可以显式指定
>>> ps.read_excel('tmp.xlsx', index_col=0, ... dtype={'Name': str, 'Value': float}) Name Value 0 string1 1.0 1 string2 2.0 2 #Comment 3.0
True、False 和 NA 值以及千位分隔符具有默认值,但也可以显式指定。以字符串或字符串列表的形式提供您想要的值!
>>> ps.read_excel('tmp.xlsx', index_col=0, ... na_values=['string1', 'string2']) Name Value 0 None 1 1 None 2 2 #Comment 3
可以使用
comment
kwarg 跳过 excel 输入文件中的注释行>>> ps.read_excel('tmp.xlsx', index_col=0, comment='#') Name Value 0 string1 1.0 1 string2 2.0 2 None NaN
相关用法
- Python pyspark read_json用法及代码示例
- Python pyspark read_parquet用法及代码示例
- Python pyspark read_spark_io用法及代码示例
- Python pyspark read_delta用法及代码示例
- Python pyspark read_orc用法及代码示例
- Python pyspark read_table用法及代码示例
- Python pyspark read_sql_query用法及代码示例
- Python pyspark read_csv用法及代码示例
- Python pyspark read_sql_table用法及代码示例
- Python pyspark read_sql用法及代码示例
- Python pyspark read_html用法及代码示例
- Python pyspark reverse用法及代码示例
- Python pyspark register_index_accessor用法及代码示例
- Python pyspark register_series_accessor用法及代码示例
- Python pyspark regexp_extract用法及代码示例
- Python pyspark repeat用法及代码示例
- Python pyspark register_dataframe_accessor用法及代码示例
- Python pyspark regexp_replace用法及代码示例
- Python pyspark range用法及代码示例
- Python pyspark rand用法及代码示例
- Python pyspark rpad用法及代码示例
- Python pyspark round用法及代码示例
- Python pyspark randn用法及代码示例
- Python pyspark create_map用法及代码示例
- Python pyspark date_add用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.read_excel。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。