Pandas知识点-读写Excel最全参数总结(收藏)

news2024/11/23 2:10:07

Pandas知识点-读写Excel最全参数总结(收藏)

pandas文件读写工具汇总

pandas中的文件读写工具由一组read的函数(执行Input)和一组write的对象方法(执行Output)组成,具体见下表。

在这里插入图片描述

本文总结最常用的三组读写工具的所有参数用法,read_excel()和DataFrame.to_excel()、read_csv()和DataFrame.to_csv()、read_json()和DataFrame.to_json()。

read_excel()参数总结

read_excel():

  • io: 字符串、字节、ExcelFile、xlrd.Book、路径对象或file-like对象。
    任何有效的字符串路径都可以接受,字符串可以是一个URL,有效的URL格式包括http、ftp、s3和file,对于文件URL,最好有个主机地址,例如一个本地文件可以是file://localhost/path/to/table.xlsx这样的格式。
    如果传递的是路径对象,则Pandas接受所有os.Pathlike对象。
    通过file-like对象,可以引用具有read()方法的对象,例如文件处理(如内置函数open()函数)或StringIO。
  • sheet_name: 字符串、整数、列表、None,默认值0。
    字符串用表格(sheet页)名称。整数用从0开始的表格索引(图表chart sheet不计算)。字符串/整数的列表用于获取多张表格。设置为None可获取所有表格(sheet页)。
    示例:
    0(默认): 将第一个sheet页读为一个DataFrame。
    1: 将第二个sheet页读为一个DataFrame。
    ‘Sheet1’: 将名称为Sheet1的sheet页读为一个DataFrame。
    [0, 1, ‘Sheet5’]: 将第一个、第二个和名称为Sheet5的sheet页读为一个DataFrame组成的字典。
    None: 将所有sheet页读为一个DataFrame组成的字典。
  • header: 整数或整数组成的列表,默认值0。
    用作DataFrame的列名的行(通过0开始的行索引选一行),如果用整数列表指定多个行,则组合为MultiIndex。如果没有header,则设置为None。
  • names: array-like,默认值None。
    指定列名的列表,如果数据文件中不包含列名,通过names指定列名,同时应该设置header=None。names中不允许有重复值。
  • indexl_col: 整数或整数组成的列表,默认值None。
    设置DataFrame的行索引(通过0开始的列索引选一列),如果用整数列表指定多个列,则组合为MultiIndex。如果没有用作行索引的列,则设置为None。如果使用usecols选择了数据的子集,则indexl_col将基于这个子集。
  • usecols: 字符串、list-like、可调用对象,默认值None。
    None: 解析所有列。
    字符串:解析以逗号分隔的Excel列字母和列范围。例如“A:E”或“A,C,E:F”,E:F这种范围包括两端的列。
    整数列表:解析列表中索引编号的列。
    字符串列表:解析列表中指定列名的列。
    可调用对象:根据可调用对象(如函数)判断每个列名,如果返回True,则解析该列。
    使用usecols可以大大加快解析时间并降低内存使用率。
  • squeeze: 布尔值,默认值False。
    如果解析的数据仅包含一个列,那么结果将以Series的形式返回。
    1.4.0版本后已弃用。
  • dtype: 类型名,或列名和类型名组成的字典,默认值None。
    指定部分列或整体数据的数据类型,如{‘a’: np.float64, ‘b’: np.int32}。
  • engine: 字符串,默认值None。
    支持的引擎:xlrd, openpyxl, odf, pyxlsb。
    xlrd: 支持旧式Excel文件(.xls扩展名)。
    openpyxl: 支持最新的Excel文件格式(.xlsx)。
    odf: 支持OpenDocument文件格式(.odf, .ods, .odt)。
    pyxlsb: 支持二进制excel文件。
  • converters: 字典,默认值None。
    列和转换函数构成的字典,keys可以是列索引或列名,values是接收一个参数(Excel单元格内容)并返回已转换内容的函数。
  • true_values: 列表,默认值None。考虑为True的值。
  • false_values: 列表,默认值None。考虑为False的值。
  • skiprows: list-like、整数、可调用对象,可选。
    要跳过的行索引列表或文件开头要跳过的行数(int)。
    可以传入可调用函数,函数将行索引作为参数传入,跳过返回计算结果为True的行,如skiprows=lambda x: x in [0, 2]。
  • nrows: 整数,默认值None。每次读取的行数,适用于读取大文件的片段。
  • na_values: 标量、字符串、list-like、字典,默认值None。
    识别为NaN的其他字符串,指定某些值为空值。
    默认情况下,以下值被解析为空值:‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘<NA>’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’。
  • keep_default_na: 布尔值,默认值True。
    在解析数据时是否包括默认的空值。根据是否传入na_values,分为如下四种情况:
    如果keep_default_na为True,并且指定na_values,则会将na_values指定的值和默认的NaN值解析为空值。
    如果keep_default_na为True,并且未指定na_values,则只将默认的NaN值解析为空值。
    如果keep_default_na为False,并且指定na_values,则只将na_values指定的值解析为空值。
    如果keep_default_na为False,并且未指定na_values,则不会将任何字符串解析为空值。
    注意,如果na_filter传入为False,则keep_default_na和na_values参数将被忽略。
  • na_filter: 布尔值,默认值True。
    检测缺失值(默认的NaN和na_values指定的值)。在没有NaN的数据中,设置na_filter=False可以提高读取大文件的性能。
  • verbose: 布尔值,默认值False。指定放在非数字列中的NaN值的数量。
  • parse_dates: 布尔值、list-like、字典,默认值False。
    布尔值如果为True,尝试将索引当成日期解析。
    整数或列名的列表,例如[1, 2, 3]尝试将1,2,3列分别作为单独的日期列进行解析。
    嵌套列表,例如[[1, 3]]将第一列和第三列合并解析为一个日期列。
    字典,例如{‘foo’: [1, 3]},将第一列和第三列解析为日期,并且合并成一列将列名重命名为foo。
    如果列或索引包含不可解析的日期,则整个列或索引将作为对象数据类型返回,不会被更改。
    如果不希望将某些单元格解析为日期,只需将它们在Excel中的类型修改为“文本”。
    对于非标准的datetime解析,在pd.read_excel之后使用pd.to_datetime。
  • date_parser: 函数,可选。
    用于将字符串列转换为datetime实例的函数,默认使用dateutil.parser.parser进行转换。
    pandas将尝试以三种不同的方式调用date_parser,如果发生异常则前进到下一种方式:
  1. 将一个或多个数组(由date_parser定义)作为参数传递。
  2. 将date_parser定义的列中的字符串值(按行)连接起来存到一个数组中,并传递该数组。
  3. 使用一个或多个字符串(对应于date_parser定义的列)作为参数为每行调用一次date_parser。
  • thousands: 字符串,默认值None。
    千分位符。注意,此参数仅对Excel中存储为TEXT的列必须,其他任何数值列都会自动解析,无论显示格式如何。
  • decimal: 字符串,默认’.'。
    识别为小数点的字符。注意,此参数仅对Excel中存储为TEXT的列必须,其他任何数值列都会自动解析,无论显示格式如何。
  • comment: 字符串,默认值None。
    设置注释符号,注释掉行的其余内容。将一个或多个字符串传递给此参数以在输入文件中指示注释。注释字符串与当前行结尾之间的任何数据都将被忽略。
  • skipfooter: 整数,默认值0。设置文件底部要忽略的行数。
  • convert_float: 布尔值,默认值True。
    将浮点整数转换为整数(如1.0 -> 1)。如果为False,则所有数字数据将被读取为浮点数,Excel将所有数字存储为内部浮点数。
    1.3.0版本后已弃用。
  • mangle_dupe_cols: 布尔值,默认值True。
    当列名有重复时,将列名解析为‘X’, ‘X.1’, …’X.N’。如果该参数为False,那么当列名中有重复时,前列会被后列覆盖。
    1.5.0版本后已弃用。
  • storage_options: 字典,可选。
    对特定存储连接(例如主机、端口、用户名、密码等)有意义的额外选项。

to_excel()参数总结

DataFrame.to_excel():

  • excel_writer: path-like、file-like、ExcelWriter对象。
    文件路径或已有的ExcelWriter对象。
  • sheet_name: 字符串,默认值’Sheet1’。
    即将写入DataFrame数据的sheet页名称。
  • na_rep: 字符串,默认值’'(空字符)。缺失值表示方式。
  • float_format: 字符串,可选。
    设置字符串格式化输出时浮点数的小数位数。如float_format=‘%.2f’。
  • columns: 字符串序列或字符串列表,可选。要写入的列。
  • header: 布尔值或字符串列表,默认值True。
    写入列名称。如果传入一个字符串列表,则设置为列的列名。
  • index: 布尔值,默认值True。
    写入数据时会将行名称(索引)写入。
  • index_label: 字符串或序列,可选。
    索引列的列标签(如果需要)。如果没有设置,并且header和index参数为True,则使用索引的names。如果使用MultiIndex,则应传入一个序列。
  • startrow: 整数,默认值0。存储DataFrame时,设置左上方单元格的行。
  • startcol: 整数,默认值0。存储DataFrame时,设置左上方单元格的列。
  • engine: 字符串,可选。
    写入时使用的引擎,openpyxl或xlsxwriter,可以通过io.excel.xlsx.writer, io.excel.xls.writer和io.excel.xlsm.write设置。
    1.2.0版本后已弃用。
  • merge_cells: 布尔值,默认值True。
    将MultiIndex和分层行写为合并单元格。
  • encoding: 字符串,可选。
    设置写入excel文件的编码。仅xlsxwriter有必要设置此参数,其他writer本身就支持unicode。
    1.5.0版本后已弃用。
  • inf_rep: 字符串,默认值’inf’。
    无穷大的表示方式(在Excel中没有无穷大的原始表示)。
  • verbose: 布尔值,默认值True。
    在错误日志中显示更多信息。
    1.5.0版本后已弃用。
  • freeze_panes: 整数组成的元组,长度为2,可选。
    指定要冻结单元格的最下方行和最右侧列。
  • storage_options: 字典,可选。
    对特定存储连接(例如主机、端口、用户名、密码等)有意义的额外选项。

read_csv()参数总结

read_csv():

  • filepath_or_buffer: 字符串、路径对象、file-like对象,必填。
    任何有效的字符串路径都可以接受,字符串可以是一个URL。有效的URL格式包括http、ftp、s3和file,对于文件URL,最好有个主机地址,例如一个本地文件可以是file://localhost/path/to/table.csv这样的格式。
    如果传递路径对象,则pandas接受所有os.Pathlike对象。
    通过file-like对象,可以引用具有read()方法的对象,例如文件处理(如内置函数open()函数)或StringIO。
  • sep: 字符串,默认值’,‘。分隔符,read_csv()默认分隔符为’,'。
  • delimiter: 字符串,默认值None。sep的替代参数。
  • delim_whitespace: 布尔值,默认值False。
    指定是否将空格(如’ ‘或‘\t’)当作delimiter,等价于设置sep=’\s+'。如果这个选项被设置为True,就不要给delimiter传参了。
  • header: 整数或整数组成的列表、None,默认值’infer’。
    将某一行或几行设置成列名,默认’infer’,自动推导。当设置为默认值或header=0时,将首行设为列名。
    如果列名(names参数)传入指定值时要设置header=0或默认值。当header=0时,传入的列名会覆盖header=0取到的列名。
    header可以用整数构成的列表指定多行,这样结果的列名就是多重索引MultiIndex,例如[1, 2, 3]。
    如果指定的多个行中间跳过了某些行,则读取数据时跳过的行不会读取出来。如[0, 1, 3]跳过了索引2的行,读取的数据中也没有索引2这行的数据。
    注意,如果skip_blank_lines=True,此参数将忽略空行和注释行,header=0表示第一行数据而非文件的第一行。
  • names: array-like,可选。
    指定列名的列表,如果数据文件中不包含列名,通过names指定列名,那么应该设置header=None。列名列表中不允许有重复值。
  • index_col: 整数、字符串、整数/字符串组成的列表,False,默认值None,可选。
    设置DataFrame的行索引,可以是数字或字符串(通过列名选一列作为行索引),默认None(行索引为整数索引,False也一样)。
    如果传入一个字符串列表/整数列表,则组合为MultiIndex。
  • usecols: list-like或可调用对象,可选。
    返回指定列的数据,用list-like的方式传入,即使只取一列数据也用列表,默认None,返回所有列的数据。
    列表中可以是列名或列索引(但不能两者混合),列名的列表构成所有列的一个子集,列表中的元素顺序可以忽略,usecols=[0, 1]等价于usecols=[1, 0]。
    如果想实例化一个自定义列顺序的DataFrame,可以使用pd.read_csv(data, usecols=[‘foo’, ‘bar’])[[‘foo’, ‘bar’]],这样列的顺序为[‘foo’, ‘bar’]。
    usecols也可以传入函数,函数将根据列名计算,返回计算结果为True的列名,如usecols=lambda x: x.upper() in [‘AAA’, ‘BBB’, ‘DDD’]。
    使用usecols可以加快解析时间并降低内存使用率。
  • squeeze: 布尔值,默认值False。
    如果解析的数据仅包含一个列,那么结果将以Series的形式返回,默认False。
    1.4.0版本后已弃用。
  • prefix: 字符串,可选。
    当没有header时,可通过该参数为数字列名添加前缀,默认None。
    1.4.0版本后已弃用。
  • mangle_dupe_cols: 布尔值,默认值True。
    当列名有重复时,将列名解析为‘X’, ‘X.1’, …’X.N’。如果该参数为False,那么当列名中有重复时,前列会被后列覆盖。
    1.5.0版本后已弃用。
  • dtype: 类型名,或列名和类型名组成的字典,默认值None。
    指定部分列或整体数据的数据类型,如{‘a’: np.float64, ‘b’: np.int32}。
    1.5.0版本新增。
  • engine: {‘c’, ‘python’, ‘pyarrow’},可选。
    使用的解析引擎。C引擎的速度更快,python引擎的功能更完备。多线程目前仅支持pyarrow引擎。
    1.4.0版本新增。
  • converters: 字典,可选。
    列和转换函数构成的字典,keys可以是列索引或列名,values是接收一个参数并返回已转换内容的函数。
  • true_values: 列表,可选。考虑为True的值。
  • false_values: 列表,可选。考虑为False的值。
  • skipinitialspace: 布尔值,默认值False。在分隔符之后跳过空格。
  • skiprows: list-like、整数、可调用对象,可选。
    要跳过的行索引列表或文件开头要跳过的行数(int)。
    可以传入可调用函数,函数将行索引作为参数传入,跳过返回计算结果为True的行,如skiprows=lambda x: x in [0, 2]。
  • skipfooter: 整数,默认值0。设置文件底部要忽略的行数。
  • nrows: 整数,默认值None。每次读取的行数,适用于读取大文件的片段。
  • low_memory: 布尔值,默认值True。
    在处理数据时,解析时内存利用率降低,可能是混合类型推理。如果确认没有混合类型,请设置为False,或使用dtype参数指定类型。
    注意,无论数据大小或迭代器参数是多少,整个文件都会被读取到单个DataFrame中。(仅C引擎有效)
  • memory_map: 布尔值,默认值False。
    如果用filepath_or_buffer指定文件路径,可以将文件对象直接映射到内存并直接从内存访问数据。
    使用此选项可以提高性能,因为不再有任何I/O开销。
  • na_values: 标量、字符串、list-like、字典,可选。
    识别为NaN的其他字符串,指定某些值为空值。
    默认情况下,以下值被解析为空值:‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘<NA>’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’。
  • keep_default_na: 布尔值,默认值True。
    在解析数据时是否包括默认的空值。根据是否传入na_values,分为如下四种情况:
    如果keep_default_na为True,并且指定na_values,则会将na_values指定的值和默认的NaN值解析为空值。
    如果keep_default_na为True,并且未指定na_values,则只将默认的NaN值解析为空值。
    如果keep_default_na为False,并且指定na_values,则只将na_values指定的值解析为空值。
    如果keep_default_na为False,并且未指定na_values,则不会将任何字符串解析为空值。
    注意,如果na_filter传入为False,则keep_default_na和na_values参数将被忽略。
  • na_filter: 布尔值,默认值True。
    检测缺失值(默认的NaN和na_values指定的值)。在没有NaN的数据中,设置na_filter=False可以提高读取大文件的性能。
  • verbose: 布尔值,默认值False。指定放在非数字列中的NaN值的数量。
  • skip_blank_lines: 布尔值,默认值True。
    如果为True,则跳过空白行,而不是将其解析为NaN值。
  • parse_dates: 布尔值、数字列表、列名列表、嵌套列表、字典,默认值False。
    布尔值如果为True,尝试将索引当成日期解析。
    整数或列名的列表,例如[1, 2, 3]尝试将1,2,3列分别作为单独的日期列进行解析。
    嵌套列表,例如[[1, 3]]将第一列和第三列合并解析为一个日期列。
    字典,例如{‘foo’: [1, 3]},将第一列和第三列解析为日期,并且合并成一列将列名重命名为foo。
    如果列或索引包含不可解析的日期,则整个列或索引将作为对象数据类型返回,不会被更改。
  • infer_datetime_format: 布尔值,默认值False。
    如果设置为True且有列启用了parse_dates,尝试推断日期格式以加快处理。
  • keep_date_col: 布尔值,默认值False。
    如果设置为True且parse_dates指定组合多列,则保留原始列。
  • date_parser: 函数,可选。
    用于将字符串列转换为datetime实例的函数,默认使用dateutil.parser.parser进行转换。
    pandas将尝试以三种不同的方式调用date_parser,如果发生异常则前进到下一种方式:
  1. 将一个或多个数组(由date_parser定义)作为参数传递。
  2. 将date_parser定义的列中的字符串值(按行)连接起来存到一个数组中,并传递该数组。
  3. 使用一个或多个字符串(对应于date_parser定义的列)作为参数为每行调用一次date_parser。
  • dayfirst: 布尔值,默认值False。DD/MM格式日期,国际和欧洲格式。
  • cache_dates: 布尔值,默认值True。
    如果为True,请使用已转换的唯一日期的缓存来应用日期时间转换。在分析重复日期字符串时,可能会产生显著的提速,尤其是具有失去偏移量的字符串。
  • iterator: 布尔值,默认值False。为get_chunk()迭代或获取数据块返回TextFileReader对象。
  • chunksize: 整数,默认值None。返回用于迭代的TextFileReader对象,每次读取chunksize行。
  • compression: 字符串或字典,默认值’infer’。
    用于磁盘数据的实时解压缩。可选值:{‘infer’, ‘zip’, ‘gzip’, ‘bz2’, ‘zstd’, ‘tar’}。
    如果使用’infer’,且如果filepath_or_buffer是以‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’结尾的字符串,则使用gzip、bz2、zip或xz,否则不进行解压缩。如果使用‘.zip’,则ZIP文件必须只包含一个要读取的数据文件。设置为None,表示不解压。
  • thousands: 字符串,可选。千分隔符。
  • decimal: 字符串,默认’.'。识别为小数点的字符。
  • float_precision: 字符串,可选。
    指定C引擎浮点值使用哪个转换器。
    None: 普通转换器。
    high: 高精度转换器。
    round_trip: 往返转换器。
  • lineterminator: 字符串(长度为1),可选。设置文件分行的字符,仅对C引擎有效。
  • quotechar: 字符串(长度为1),可选。用于表示引用项的开始和结束的字符,引用的项可以包括分隔符,他将被忽略。
  • quoting: 整数或csv.QUOTE_*实例,默认值0。
    控制每个csv.QUOTE_*常量的字段引用行为。使用QUOTE_MINIMAL(0), QUOTE_ALL(1), QUOTE_NONNUMERIC(2)或QUOTE_NONE(3)中的一个。
  • doublequote: 布尔值,默认值True。
    当指定quotechar并且quoting不是QUOTE_NONE时,指示是否将字段内的两个连续quotechar元素解释为单个quotechar元素。
  • escapechar: 字符串(长度为1),默认值None。
    当quoting为QUOTE_NONE时,用于转义分隔符的一个字符串。
  • comment: 字符串,可选。
    设置注释符号,注释掉行的其余内容。如果在一行开头匹配到该字符,则该行将被完全忽略,此参数必须为单个字符。
    与空行(只要skip_blank_lines=True)一样,完全注释的行被参数header忽略,而不是被参数skiprows忽略。
    例如,如果comment=‘#’,解析’#empty\na,b,c\n1,2,3’且header=0,结果将’a,b,c’视为header。也就是第一行被comment注释了,header=0取到第二行。
  • encoding: 字符串,可选。读/写时使用UTF的编码(如’utf-8’)。
  • encoding_errors: 字符串,可选,默认值’strict’。如何处理编码错误。
    1.3.0版本新增。
  • dialect: 字符串或csv.Dialect实例,可选。
    如果提供,则此参数将覆盖以下参数的值: delimiter, doublequote, escapechar, skipinitialspace, quotechar和quoting。
  • error_bad_lines: 布尔值,可选,默认值True。
    字段过多(例如,带有过多逗号的csv行)的行默认会引发异常,不会返回DataFrame。如果设置为False,则这些“坏行”将从返回的DataFrame中删除。
    1.3.0版本已弃用。
  • warn_bad_lines: 布尔值,可选,默认值True。
    如果error_bad_lines为False,并且warn_bad_lines为True,则会为每个“坏行”输出一条警告。
    1.3.0版本已弃用。
  • on_bad_lines: {‘error’, ‘warn’, ‘skip’}中的一个、可调用对象,默认值’error’。
    当遇到坏行(字段太多的行)时要执行的操作。
    error: 遇到坏行时抛出异常。
    warn: 遇到坏行时发出警告并跳过该行。
    skip:遇到坏行时跳过他们,不抛出异常和警告。
    1.3.0版本新增。
  • storage_options: 字典,可选。
    对特定存储连接(例如主机、端口、用户名、密码等)有意义的额外选项。

to_csv()参数总结

DataFrame.to_csv():

  • path_or_buf: 字符串、路径对象、file-like对象、None,默认值None。
    字符串、路径对象,或实现了write()函数的file-like对象,如果为None,则结果以字符串形式返回。
  • sep: 字符串,默认值’,‘。分隔符,to_csv()默认分隔符为’,'。
  • na_rep: 字符串,默认值’'(空字符)。缺失值表示方式。
  • float_format: 字符串,可调用对象,默认值None。
    设置字符串格式化输出时浮点数的小数位数。如果给出一个可调用对象,他优先于其他数字格式参数。
  • columns: 序列,可选。要写入的列。
  • header: 布尔值或字符串组成的列表,默认值True。
    写入列名称。如果传入一个字符串列表,则设置为列的别名。
  • index: 布尔值,默认值True。写入数据时会将行名称(索引)写入。
  • index_label: 字符串、序列、False,默认值None。
    索引列的列标签(如果需要)。如果设置为None,并且header和index参数为True,则使用索引的names。如果使用MultiIndex,则应传入一个序列。如果设置为False,则不会打印索引名称的字段,使用index_label=False可在R中更方便地导入。
  • mode: 字符串,默认值’w’。Python写入模式,可用的写入模式与open()相同。
  • encoding: 字符串,可选。
    表示要在输出文件中使用的编码的字符串,默认值为’utf-8’。如果path_or_buf是非二进制文件对象,则不支持encoding。
  • compression: 字符串或字典,默认值’infer’。用于在线压缩输出数据。
    如果使用’infer’,且如果path_or_buf参数是path-like对象,则从以下扩展名中检测压缩:‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’, ‘.zst’, ‘.tar’, ‘.tar.gz’, ‘.tar.xz’或‘.tar.bz2’(否则不会进行压缩)。设置为None,表示不进行压缩。
  • quoting: 来自csv模块的可选常量。
    默认为csv.QUOTE_MINIMAL。如果设置了float_format格式,则将float转换为字符串,csv.QUOTE_NONNUMERIC将其视为非数字格式。
  • quotechar: 字符串,默认值单边双引号"。长度为1的字符串,用于引用字段的字符。
  • lineterminator: 字符串,可选。
    在输出文件中使用的换行字符或字符序列。默认为os.linesep,这取决于调用此方法的操作系统(linux为’\n’,Windows为‘\r\n’)。
  • chunksize: 整数或Noen。一次写入chunksize行。
  • date_format: 字符串,默认值None。日期时间对象的格式字符串。
  • doublequote: 布尔值,默认值True。控制同一个quotechar参数引用的范围内的quoting参数。
  • escapechar: 字符串,默认值None。长度为1的字符串,用于避开sep参数和quotechar参数的字符。
  • decimal: 字符串,默认值’.‘。识别为十进制分隔符的字符串。例如,对欧洲数据使用’,'。
  • errors: 字符串,默认值’strict’。
    指定如何处理编码和解码错误。完整的选项列表,可以参考open()的错误参数,有strict, ignore, replace, surrogateescape, xmlcharrefreplace, backslashreplace, namereplace。
  • storage_options: 字典,可选。
    对特定存储连接(例如主机、端口、用户名、密码等)有意义的额外选项。

read_json()参数总结

read_json():

  • path_or_buf: 一个有效的JSON字符串、路径对象、file-like对象。
    任何有效的字符串路径都可以接受,字符串可以是一个URL。有效的URL格式包括http、ftp、s3和file,对于文件URL,最好有个主机地址,例如一个本地文件可以是file://localhost/path/to/table.json这样的格式。
    如果传递路径对象,则pandas接受所有os.Pathlike对象。
    通过file-like对象,可以引用具有read()方法的对象,例如文件处理(如内置函数open()函数)或StringIO。
  • typ: {‘frame’, ‘series’},默认值frame。要恢复的对象类型。
  • orient: 期望的JSON字符串格式。兼容的JSON字符串可以由to_json()生成。并具有相应的orient值。
    split: 类似于{index -> [index], columns -> [columns], data -> [values]}的字典。
    records: 类似于[{column -> value}, … , {column -> value}]的列表。
    index: 类似于{index -> {column -> value}}的字典。
    columns: 类似于{column -> {index -> value}}的字典。
    values: 仅为值的数组。
    table: 类似于{‘schema’: {schema}, ‘data’: {data}}的字典。
    typ == ‘series’: 默认为index,允许的值为{‘split’,‘records’,‘index’},Series的索引在orient为index时必须是唯一的。
    typ == ‘frame’: 默认为columns,允许的值为{‘split’,‘records’,‘index’, ‘columns’,‘values’, ‘table’},DataFrame的索引在orient为index和columns时必须是唯一的,DataFrame的列名在orient为index、columns和records时必须是唯一的。
  • dtype: 布尔值、字典,默认值None。
    如果为True,推断dtypes,如果为列和dtype组成的字典,则使用字典中的dtype。如果为False,则不推断dtypes,仅适用于数据。
    对于除table之外的所有orient参数,默认值为True。
  • convert_axes: 布尔值,默认值None。
    尝试将列转换为正确的dtypes。对于除table之外的所有orient参数,默认值为True。
  • convert_dates: 布尔值或字符串列表,默认值True。
    如果为True,则可以转换默认日期格式的列(取决于keep_default_dates参数),如果为False,则不会转换日期。
    如果是一个列名组成的列表,则将转换这些列,并且也可以转换默认日期格式的列(取决于keep_default_dates参数)。
  • keep_default_dates: 布尔值,默认值True。
    如果解析日期(convert_dates不是False),则尝试解析默认的日期格式列。列标签属于日期格式的列为:以’_at’结尾、以’_time’结尾、以’timestamp’开头、列名为’modified’或’date’。
  • numpy: 布尔值,默认值False。
    直接解析为numpy数组。虽然column和index标签可能是非数字的,但仅支持数字数据。
    注意,如果numpy=True,则每个组的JSON顺序必须相同。
    1.0.0版本后已弃用。
  • precise_float: 布尔值,默认值False。
    当解码字符串为双精度类型值时,设置为能使用更高精度(strtod)函数。默认(False)使用快速但不精确的内置功能。
  • date_unit: 字符串,默认值None。
    用于检测转换日期的时间戳单位。默认情况下,尝试并检测正确的精度,如果不满足期望,则传递‘s’, ‘ms’, ‘us’或‘ns’中的一个,以强制设置时间戳精度分别为秒、毫秒、微秒或纳秒。
  • encoding: 字符串,默认值’utf-8’。用于解码python3字节的编码。
  • encoding_errors: 字符串,默认值’strict’。
    指定如何处理编码错误。完整的选项列表,可以参考open()的错误参数,有strict, ignore, replace, surrogateescape, xmlcharrefreplace, backslashreplace, namereplace。
    1.3.0版本新增。
  • lines: 布尔值,默认值False。读取文件每行作为一个JSON对象。
  • chunksize: 整数,可选。
    与lines=True结合使用,返回一个JSON读取器(JsonReader),每次迭代读取chunksize行。如果为None,则文件将一次性全部读入内存。
  • compression: 字符串或字典,默认值’infer’。
    用于磁盘数据的实时解压缩。如果使用’infer’,且如果path_or_buf参数是path-like对象,则从以下扩展名中检测压缩:‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’, ‘.zst’, ‘.tar’, ‘.tar.gz’, ‘.tar.xz’或‘.tar.bz2’(否则不会进行压缩)。如果使用’zip’或‘tar’,则ZIP文件必须只包含一个要读取的数据文件。设置为None,表示不进行压缩。
  • nrows: 整数,可选。
    每次从jsonfile中读取的行数。仅当lines参数为True时才能生效。如果为None,则返回所有行。
  • storage_options: 字典,可选。
    对特定存储连接(例如主机、端口、用户名、密码等)有意义的额外选项。

to_json()参数总结

DataFrame.to_json():

  • path_or_buf: 字符串、路径对象、file-like对象、None,默认值None。
    字符串、路径对象,或实现了write()函数的file-like对象,如果为None,则结果返回一个JSON字符串。
  • orient: 字符串。期望的JSON字符串格式。
    Series: 默认为index,允许的值为{‘split’, ‘records’, ‘index’, ‘table’}。
    DataFrame: 默认为columns,允许的值为{‘split’, ‘records’, ‘index’, ‘columns’, ‘values’, ‘table’}。
    split: 类似于{index -> [index], columns -> [columns], data -> [values]}的字典。
    records: 类似于[{column -> value}, … , {column -> value}]的列表。
    index: 类似于{index -> {column -> value}}的字典。
    columns: 类似于{column -> {index -> value}}的字典。
    values: 仅为值的数组。
    table: 类似于{‘schema’: {schema}, ‘data’: {data}}的字典。
  • date_format: 字符串,{None, ‘epoch’, ‘iso’}。
    日期类型的转换。epoch是时间戳,iso是ISO8601标准。
    默认值取决于orient参数,对于orient=‘table’,默认值为iso,对于其他的orient值,默认值为epoch。
  • double_precision: 整数,默认值10。对浮点值进行编码时使用的小数位数。
  • force_ascii: 布尔值,默认值True。强制设置编码字符串为ASCI。
  • date_unit: 字符串,默认值’ms’(milliseconds,毫秒)。
    编码的时间单位,管理时间戳和ISO8601的精度,可选‘s’, ‘ms’, ‘us’, ‘ns’中的一个,分布表示秒、毫秒、微秒和纳秒。
  • default_handler: 可调用对象,默认值None。
    如果一个对象没有转换成一个恰当的JSON格式,处理程序就会被调用。采用单个参数(即要转换的对象),并返回一个序列化的对象。
  • lines: 布尔值,默认值False。
    如果orient参数为records,则将每行写入记录为json,orient参数是其他格式,将抛出ValueError异常,因为其他格式不是list-like。
  • compression: 字符串或字典,默认值’infer’。用于在线压缩输出数据。
    如果使用’infer’,且如果path_or_buf参数是path-like对象,则从以下扩展名中检测压缩:‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’, ‘.zst’, ‘.tar’, ‘.tar.gz’, ‘.tar.xz’或‘.tar.bz2’(否则不会进行压缩)。设置为None,表示不进行压缩。
  • index: 布尔值,默认值True。
    是否在JSON字符串中包含索引值。仅当orient为split或table时,才支持不包含索引(index=False)。
  • indent: 整数,可选。用于缩进每条记录的空格长度。
  • storage_options: 字典,可选。
    对特定存储连接(例如主机、端口、用户名、密码等)有意义的额外选项。

以上就是pandas中最常见的三种数据读写方法的参数完整介绍,建议收藏本文,需要使用时方便查看。也欢迎点赞和关注支持,用wx关注我方便接收更多最新Python文章。

参考文档:
[1] pandas中文网:https://www.pypandas.cn/docs/

相关阅读:
Pandas知识点-详解表级操作管道函数pipe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/14577.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

指纹识别系统设计(VC++)

目 录 摘 要 I Abstract II 1绪论 1 1.1选题背景及意义 1 1.2研究现状 2 1.3研究主要内容 2 2技术介绍 3 2.1软件环境 3 2.1.1 C的产生和发展以及特点简介 3 2.1.2 Visual C6.0简介及其优点 5 2.2硬件环境 5 3指纹识别系统需求分析 6 3.1业务需求分析 6 3.2功能需求分析 6 3.3性…

四招教你样式化界面组件KendoReact,让应用程序主题更个性化

Kendo UI致力于新的开发&#xff0c;来满足不断变化的需求&#xff0c;通过React框架的Kendo UI JavaScript封装来支持React Javascript框架。Kendo UI for React能够为客户提供更好的用户体验&#xff0c;并且能够更快地构建更好的应用程序。 开发人员在应用程序主题色的选择…

省重点实验室成果转化:24h在线的专业数字朋友,不用欠人情的网上解答神器~

数据解决大师 一个适合所有人的 数据问题咨询小程序 海量数据如何安全储存&#xff1f; 电脑系统崩溃&#xff0c;关键文档丢失怎么办&#xff1f; 手机被格式化&#xff0c;视频文档等数据如何恢复&#xff1f; 毕业论文遭恶意破坏&#xff0c;如何操作能将损失降至最低&…

Java Final关键字使用

Final关键字 final可以修饰类, 属性, 方法和局部变量 在某些情况下程序员可能有以下需求&#xff0c;就会使用到final: 1)当不希望类被继承时&#xff0c;可以用final修饰. 2)当不希望父类的某个方法被子类覆盖/重写(override)时&#xff0c;可以用final关键字修饰。[访问修饰…

谷粒学院——Day06【整合阿里云OSS、EasyExcel技术实现Excel导入分类】

阿里云存储OSS 一、对象存储OSS 1. 开通“对象存储OSS”服务 阿里云&#xff1a;https://www.aliyun.com/申请阿里云账号实名认证开通“对象存储OSS”服务进入管理控制台 2. 创建Bucket 选择&#xff1a;标准存储、公共读、不开通。 3.上传默认头像 4. 创建RAM子用户 二、…

如何手写一个单向链表?看这里

一. 问题展现 通常我们在大多数的面试中&#xff0c;遇到关于集合的问题都是比较多的。一般情况下&#xff0c;许多面试官通常都会问我们关于Set集合和Map集合的相关知识点&#xff0c;并对此进行重重陷阱的布置&#xff0c;此时很多面试者往往就很容易被带到面试官挖好的陷阱…

netstat命令详解

netstat命令详情一、前言二、netstat查看端口命令三、显示每个协议的统计信息四、显示核心路由信息五、netstat的其他参数一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡&#xff0c;小伙伴们&#xff0c;让我们一起来学习netstat命令使用&#xff0c;netstat命令是一个监控TC…

echarts疑难杂症

echarts疑难杂症1.调整柱状图、饼图的大小2.嵌套饼图且颜色保持一致3.并排展示饼图且中间展示文字4.折线图&#xff08;柱状图&#xff09;双y轴5.使用echarts56.图形不展示的问题1.调整柱状图、饼图的大小 //柱状图主要根据grid属性中的top/bottom/left/right属性调整大小 le…

【毕业设计】机器视觉行人口罩佩戴检测系统 - python 深度学习

文章目录0 前言1 简介2 效果展示3 实现方法3.1 模型介绍3.2 获取数据集3.3 数据集获取4 最后0 前言 &#x1f525; Hi&#xff0c;大家好&#xff0c;这里是丹成学长的毕设系列文章&#xff01; &#x1f525; 对毕设有任何疑问都可以问学长哦! 这两年开始&#xff0c;各个学…

164页5万字轨道交通BIM方案建议书

目录 1、 概况 1.1. BIM国内外现状 1.1.1. 国外BIM现状 1.1.2. 国内BIM现状 1.2. BIM在轨道交通工程领域的发展概况 1.3. 中铁二院BIM发展总体思路的建议 2、 解决方案总体架构 2.1. 解决方案应具备的要素 2.2. 解决方案整体架构 2.3匹配度分析 3、 设计阶段解决方案…

数据库的基本操作(5)

先回顾一下在上一篇中的内容&#xff1a; 聚合查询&#xff1a;行和行之间的数据的加工。 聚合函数&#xff1a;count&#xff0c;avg&#xff0c;sum...... group..by...进行分组&#xff0c;将指定列的值进行分组&#xff0c;将相同的记录合并到一个组中。每个组还可以进行…

Golang入门笔记(10)—— 包

使用包的原因&#xff1a; 1.不可能把所有的不同业务功能的函数都放在一个源文件中&#xff0c;这样不便于管理。通常的做法是&#xff1a;我们会把具有相同一些功能和业务的维度的函数&#xff0c;分门别类的放在不同的源文件中。 2.不同的包名&#xff0c;可以解决两个函数…

【SQL 中级语法 3】三值逻辑和NULL

普通语言里的布尔型只有true和false两个值&#xff0c;这种逻辑体系被称为二值逻辑。而SQL语言里&#xff0c;除此之外还有第三个值unknown&#xff0c;因此这种逻辑体系被称为三值逻辑&#xff08;three-valued logic&#xff09;。 为什么SQL语言采用了三值逻辑呢&#xff1…

java项目-第139期ssm博客系统-ssm毕业设计_计算机毕业设计

java项目-第139期ssm博客系统-ssm毕业设计_计算机毕业设计 【源码请到资源专栏下载】 今天分享的项目是《ssm博客系统》 该项目分为前台和后台2个部分。 前台不需要登录&#xff0c;游客都可以访问&#xff0c;并发表评论 管理员登录后可以进行文章的发表&#xff0c;分类&…

德鲁克《卓有成效的管理者》学习读书-总结

有幸学习了管理大师德鲁克先生的《卓有成效的管理者》&#xff0c;帮助学习者理清了在理论和实践之间建立桥梁&#xff0c;使其生根落地&#xff0c;开花结果&#xff1b;管理不是常识&#xff0c;管理是个实践学科&#xff0c;要不断温习&#xff0c;不断与领导同事联接&#…

人肠道宏病毒与其宿主和环境因素的关联分析

近期《Nature Communications》期刊上(IF17.694)发表的“Extensive gut virome variation and its associations with host and environmental factors in a population-level cohort”研究论文中&#xff0c;对从4198个个体的肠道宏基因组中获得的人类肠道病毒进行分析&#x…

PCB设计时如何选择合适的叠层方案

大家在画多层PCB的时候都要进行层叠的设置&#xff0c;其中层数越多的板子层叠方案也越多&#xff0c;很多人对多层PCB的层叠不够了解&#xff0c;通常一个好的叠层方案可以降低板子产生的干扰&#xff0c;我们的层叠结构是影响PCB板EMC性能的重要因素,下面我们以四层板和六层板…

刨根问底 Redis, 面试过程真好使

充满寒气的互联网如何在面试中脱颖而出&#xff0c;平时积累很重要&#xff0c;八股文更不能少&#xff01;下面带来的这篇 Redis 问答希望能够在你的 offer 上增添一把&#x1f525;。 在 Web 应用发展的初期阶段&#xff0c;一个网站的访问量本身就不是很高&#xff0c;直接使…

SRM供应商关系管理系统解决方案

SRM供应商关系管理系统解决方案供应商关系管理(SRM)软件的采购指南 什么是供应商关系管理(SRM)软件? 供应商关系管理(SRM)软件是一个通讯解决方案制造商、分销商和零售商的供应链。供应商管理用于将所有有关组织的供应商通讯和颜色编码索引卡片。现在SRM管理的数字由一个国家…

OOM内存溢出分析

Mat内存溢出dump文件分析工具http://www.eclipse.org/mat/downloads.php 模拟OOM Java 程序 package org.cj.oom;import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit;/*** 创建内存分析* java启动参数指定内存 -Xms1m -Xmx1m* author…