Python酷库之旅-第三方库Pandas(004)

目录

一、用法精讲

5、pandas.DataFrame.to_csv函数

5-1、语法

5-2、参数

5-3、功能

5-4、返回值

5-5、说明

5-6、用法

5-6-1、代码示例

5-6-2、结果输出

6、pandas.read_fwf函数

6-1、语法

6-2、参数

6-3、功能

6-4、返回值

6-5、说明

6-6、用法

6-6-1、代码示例

6-6-2、结果输出 

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

5、pandas.DataFrame.to_csv函数
5-1、语法
# 5、pandas.DataFrame.to_csv函数
DataFrame.to_csv(path_or_buf=None, *, sep=',', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression='infer', quoting=None, quotechar='"', lineterminator=None, chunksize=None, date_format=None, doublequote=True, escapechar=None, decimal='.', errors='strict', storage_options=None)
Write object to a comma-separated values (csv) file.Parameters:
path_or_bufstr, path object, file-like object, or None, default None
String, path object (implementing os.PathLike[str]), or file-like object implementing a write() function. If None, the result is returned as a string. If a non-binary file object is passed, it should be opened with newline=’’, disabling universal newlines. If a binary file object is passed, mode might need to contain a ‘b’.sepstr, default ‘,’
String of length 1. Field delimiter for the output file.na_repstr, default ‘’
Missing data representation.float_formatstr, Callable, default None
Format string for floating point numbers. If a Callable is given, it takes precedence over other numeric formatting parameters, like decimal.columnssequence, optional
Columns to write.headerbool or list of str, default True
Write out the column names. If a list of strings is given it is assumed to be aliases for the column names.indexbool, default True
Write row names (index).index_labelstr or sequence, or False, default None
Column label for index column(s) if desired. If None is given, and header and index are True, then the index names are used. A sequence should be given if the object uses MultiIndex. If False do not print fields for index names. Use index_label=False for easier importing in R.mode{‘w’, ‘x’, ‘a’}, default ‘w’
Forwarded to either open(mode=) or fsspec.open(mode=) to control the file opening. Typical values include:‘w’, truncate the file first.‘x’, exclusive creation, failing if the file already exists.‘a’, append to the end of file if it exists.encodingstr, optional
A string representing the encoding to use in the output file, defaults to ‘utf-8’. encoding is not supported if path_or_buf is a non-binary file object.compressionstr or dict, default ‘infer’
For on-the-fly compression of the output data. If ‘infer’ and ‘path_or_buf’ is path-like, then detect compression from the following extensions: ‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’, ‘.zst’, ‘.tar’, ‘.tar.gz’, ‘.tar.xz’ or ‘.tar.bz2’ (otherwise no compression). Set to None for no compression. Can also be a dict with key 'method' set to one of {'zip', 'gzip', 'bz2', 'zstd', 'xz', 'tar'} and other key-value pairs are forwarded to zipfile.ZipFile, gzip.GzipFile, bz2.BZ2File, zstandard.ZstdCompressor, lzma.LZMAFile or tarfile.TarFile, respectively. As an example, the following could be passed for faster compression and to create a reproducible gzip archive: compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}.New in version 1.5.0: Added support for .tar files.May be a dict with key ‘method’ as compression mode and other entries as additional compression options if compression mode is ‘zip’.Passing compression options as keys in dict is supported for compression modes ‘gzip’, ‘bz2’, ‘zstd’, and ‘zip’.quotingoptional constant from csv module
Defaults to csv.QUOTE_MINIMAL. If you have set a float_format then floats are converted to strings and thus csv.QUOTE_NONNUMERIC will treat them as non-numeric.quotecharstr, default ‘"’
String of length 1. Character used to quote fields.lineterminatorstr, optional
The newline character or character sequence to use in the output file. Defaults to os.linesep, which depends on the OS in which this method is called (’\n’ for linux, ‘\r\n’ for Windows, i.e.).Changed in version 1.5.0: Previously was line_terminator, changed for consistency with read_csv and the standard library ‘csv’ module.chunksizeint or None
Rows to write at a time.date_formatstr, default None
Format string for datetime objects.doublequotebool, default True
Control quoting of quotechar inside a field.escapecharstr, default None
String of length 1. Character used to escape sep and quotechar when appropriate.decimalstr, default ‘.’
Character recognized as decimal separator. E.g. use ‘,’ for European data.errorsstr, default ‘strict’
Specifies how encoding and decoding errors are to be handled. See the errors argument for open() for a full list of options.storage_optionsdict, optional
Extra options that make sense for a particular storage connection, e.g. host, port, username, password, etc. For HTTP(S) URLs the key-value pairs are forwarded to urllib.request.Request as header options. For other URLs (e.g. starting with “s3://”, and “gcs://”) the key-value pairs are forwarded to fsspec.open. Please see fsspec and urllib for more details, and for more examples on storage options refer here.Returns:
None or str
If path_or_buf is None, returns the resulting csv format as a string. Otherwise returns None.
5-2、参数

5-2-1、path_or_buf(可选,默认值为None)指定要写入的文件路径(字符串或路径对象)或任何文件状对象。如果为None,则输出将作为字符串返回,而不是写入文件。

5-2-2、sep(可选,默认值为',')字段之间的分隔符,可以根据需要更改为其他字符,如制表符('\t')用于制表符分隔的值(TSV)。

5-2-3、na_rep(可选,默认值为'')缺失值(NaN)的表示,你可以指定任何你想要的字符串来表示缺失值。

5-2-4、float_format(可选,默认值为None)浮点数的格式字符串。例如,'%.2f'会将浮点数格式化为保留两位小数的字符串。

5-2-5、columns(可选,默认值为None)要写入的列名列表。如果为None,则写入所有列。

5-2-6、header(可选,默认值为True)是否将列名写入文件作为第一行。如果为False,则不写入列名;也可以是一个字符串列表,用于指定要作为文件头部写入的列名(注意:这可能会改变列的顺序)。

5-2-7、index(可选,默认值为True)是否将行索引写入文件。如果为False,则不写入索引。

5-2-8、index_label(可选,默认值为None)如果需要,可以使用此参数来更改索引列的列名。如果为False,则不写入索引名称。如果为字符串或字符串序列,则用作索引的列名。

5-2-9、mode(可选,默认值为'w')文件打开模式,若执行写入模式,如果文件已存在则覆盖。

5-2-10、encoding(可选,默认值为None)指定文件的编码方式。

5-2-11、compression(可选,默认值为'infer')指定压缩的字符串(如'gzip'、'bz2'、'zip'、'xz'),或者一个包含压缩选项的字典。如果为'infer'并且文件扩展名是.gz、.bz2、.zip或.xz,则自动推断压缩方式。

5-2-12、quoting(可选,默认值为None)控制字段中引号的使用。

5-2-13、quotechar(可选,默认值为"")引号字符,用于包围字段中的特殊字符。

5-2-14、lineterminator(可选,默认值为None)行结束符。

5-2-15、chunksize(可选,默认值为None)如果设置了,则文件将被写入指定的块大小,这对于大文件可能很有用,因为它可以减少内存使用量。

5-2-16、date_format(可选,默认值为None)日期时间对象的格式字符串。

5-2-17、doublequote(可选,默认值为True)控制是否将字段内的quotechar(引号字符)加倍(即当字段内容中已包含引号字符时,使用双引号来包围该字段),这在处理需要被引号包围且内容中已包含引号的字段时非常有用。

5-2-18、escapechar(可选,默认值为None)转义字符,用于转义引号字符(如果quoting参数不是csv.QUOTE_NONE且字段中包含引号字符时)。如果指定了escapechar,则quotechar字符前的escapechar会被用来转义quotechar,而不是加倍quotechar。

5-2-19、decimal(可选,默认值为'.')用于表示浮点数的小数点字符,这在处理不同地域的数据时非常有用,因为某些地区可能使用逗号(,)作为小数点字符。

5-2-20、errors(可选,默认值为'strict')指定如何处理编码错误。有效选项包括'strict'、'ignore'、'replace'、'surrogatepass'等,'strict'(默认值)将引发异常,'ignore'将忽略错误,'replace'将使用?替换错误字符,'surrogatepass'将允许通过代理对(surrogate pairs)表示UTF-16字符,这可能在某些情况下导致不可预见的错误。

5-2-21、storage_options(可选,默认值为None)对于支持额外存储选项的文件系统(如S3、GCS等),此参数允许你传递额外的选项给底层的存储系统。例如,在写入S3时,你可以使用storage_options={'key':'secret','bucket_name':'mybucket'}来传递认证信息和桶名。

5-3、功能

        将DataFrame中的数据写入到指定的文件路径或文件状对象中。

5-4、返回值

5-4-1、如果path_or_buf参数是一个文件路径或文件状对象,则DataFrame.to_csv()函数通常没有返回值(即返回None),因为它直接将数据写入到指定的文件中。

5-4-2、如果path_or_buf参数为None,则函数返回一个字符串,该字符串包含了DataFrame的CSV表示形式,这允许你在不直接写入文件的情况下获取CSV格式的字符串数据。

5-5、说明

        无

5-6、用法
5-6-1、代码示例
# 5、pandas.DataFrame.to_csv函数
# 5-1、无返回值
import pandas as pd
# 创建一个简单的DataFrame
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'],'Age': [24, 27, 22],'City': ['New York', 'Los Angeles', 'Chicago']
})
# 将DataFrame导出为CSV文件
csv_str = df.to_csv('people.csv', index=False)  # 注意:这里没有返回值
print(csv_str)# 5-2、有返回值
import pandas as pd
# 创建一个包含数据的字典
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [24, 27, 22],'City': ['New York', 'Los Angeles', 'Chicago']
}
# 使用字典创建DataFrame
df = pd.DataFrame(data)
# 将DataFrame转换为CSV格式的字符串
# index=False: 不包含行索引
# sep=';': 使用分号作为分隔符
# na_rep='N/A': 用'N/A'表示缺失值
# line_terminator='\n': 使用换行符分隔行
csv_string = df.to_csv(index=False, sep=';', na_rep='N/A', lineterminator='\n')
# 打印CSV字符串
print(csv_string)# 5-3、指定文件路径
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [24, 27, 22], 'City': ['New York', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)
csv_string = df.to_csv('data.csv', index=False)
print(csv_string)# 5-4、使用文件对象
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [24, 27, 22], 'City': ['New York', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)
with open('data.csv', 'w') as file:csv_string = df.to_csv(file, index=False)
print(csv_string)# 5-5、使用StringIO
import pandas as pd
from io import StringIO
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [24, 27, 22], 'City': ['New York', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)
buffer = StringIO()
df.to_csv(buffer, index=False)
csv_string = buffer.getvalue()
print(csv_string)
5-6-2、结果输出
# 5-1、无返回值
None# 5-2、有返回值
Name;Age;City
Alice;24;New York
Bob;27;Los Angeles
Charlie;22;Chicago# 5-3、指定文件路径
None# 5-4、使用文件对象
None# 5-5、使用StringIO
Name,Age,City
Alice,24,New York
Bob,27,Los Angeles
Charlie,22,Chicago
6、pandas.read_fwf函数
6-1、语法
# 6、pandas.read_fwf函数
pandas.read_fwf(filepath_or_buffer, *, colspecs='infer', widths=None, infer_nrows=100, dtype_backend=_NoDefault.no_default, iterator=False, chunksize=None, **kwds)
Read a table of fixed-width formatted lines into DataFrame.Also supports optionally iterating or breaking of the file into chunks.Additional help can be found in the online docs for IO Tools.Parameters:
filepath_or_bufferstr, path object, or file-like object
String, path object (implementing os.PathLike[str]), or file-like object implementing a text read() function.The string could be a URL. Valid URL schemes include http, ftp, s3, and file. For file URLs, a host is expected. A local file could be: file://localhost/path/to/table.csv.colspecslist of tuple (int, int) or ‘infer’. optional
A list of tuples giving the extents of the fixed-width fields of each line as half-open intervals (i.e., [from, to[ ). String value ‘infer’ can be used to instruct the parser to try detecting the column specifications from the first 100 rows of the data which are not being skipped via skiprows (default=’infer’).widthslist of int, optional
A list of field widths which can be used instead of ‘colspecs’ if the intervals are contiguous.infer_nrowsint, default 100
The number of rows to consider when letting the parser determine the colspecs.dtype_backend{‘numpy_nullable’, ‘pyarrow’}, default ‘numpy_nullable’
Back-end data type applied to the resultant DataFrame (still experimental). Behaviour is as follows:"numpy_nullable": returns nullable-dtype-backed DataFrame (default)."pyarrow": returns pyarrow-backed nullable ArrowDtype DataFrame.New in version 2.0.**kwdsoptional
Optional keyword arguments can be passed to TextFileReader.Returns:
DataFrame or TextFileReader
A comma-separated values (csv) file is returned as two-dimensional data structure with labeled axes.
6-2、参数

6-2-1、filepath_or_buffer(必须)字符串或文件对象,表示要读取的文件路径或文件对象。如果是文件路径,需要确保Pandas能够访问到这个文件。

6-2-2、colspecs(可选,默认值为'infer')指定列宽的规范。可以是一个整数列表,表示每列的起始位置(索引从0开始),或者是一个元组列表,每个元组包含两个整数,分别表示每列的起始和结束位置(不包括结束位置)。如果设置为 'infer',Pandas会尝试自动推断列宽。

6-2-3、widths(可选,默认值为None)与colspecs参数类似,但widths接收的是一个整数列表,直接指定每列的宽度(即每列的结束位置相对于起始位置的偏移量)。如果同时指定了colspecs和widths,则colspecs会被优先使用。

6-2-4、infer_nrows(可选,默认值为100)用于推断列宽时读取的行数。当colspecs='infer'时,Pandas会读取文件的前infer_nrows行来尝试推断出列宽,这个值可以根据文件大小和复杂性进行调整。

6-2-5、dtype_backend(可选)这个参数通常不需要用户直接设置,它是用来指定数据类型推断的后端,Pandas内部使用它来优化数据类型的推断过程。

6-2-6、iterator(可选,默认值为False)布尔值,如果设置为True,则返回一个TextFileReader对象,该对象可以迭代地读取文件块(chunk),而不是一次性将整个文件读入内存,这对于处理大文件很有用。

6-2-7、chunksize(可选,默认值为None)当iterator=True时,这个参数指定了每个文件块(chunk)的行数。如果设置为None,则chunksize会被设置为infer_nrows的值。

6-2-8、*kwds(可选)其他关键字参数,这些参数会传递给底层的TextParser对象。常用的有header(指定列名的行位置,默认为None,表示没有列名)、names(自定义的列名列表,当文件中没有列名时使用)等。

6-3、功能

        将固定宽度格式的文本文件解析成Pandas的DataFrame对象。

6-4、返回值

        返回值是一个DataFrame对象。

6-5、说明

        从Pandas 1.0.0开始,dtype_backend参数已被弃用,并且可能在未来的版本中移除。在大多数情况下,用户不需要直接设置这个参数。

6-6、用法
6-6-1、代码示例
# 6、pandas.read_fwf函数
# 6-1、创建测试用的.txt文件
# 直接使用Python的文件操作写入字符串
with open('example.txt', 'w') as f:f.write('12345John Doe  25  New York\n')f.write('67890Jane Smith30  Los Angeles\n')# 6-2、基础用法
import pandas as pd
# 假设列宽分别为 5, 10, 2, 14
colspecs = [(0, 5), (5, 15), (15, 17), (17, 31)]
# 读取文件
df = pd.read_fwf('example.txt', colspecs=colspecs, header=None, names=['ID', 'Name', 'Age', 'City'])
# 显示DataFrame
print(df)# 6-3、自动推断列宽
import pandas as pd
# 尝试自动推断列宽,这里假设前100行足够用来推断
df = pd.read_fwf('example.txt', colspecs='infer', header=None, names=['ID', 'Name', 'Age', 'City'], infer_nrows=100)
# 显示DataFrame
print(df)# 6-4、使用widths参数
import pandas as pd
# 使用 widths 参数指定列宽
widths = [5, 10, 2, 14]  # 分别对应ID, Name, Age, City的宽度
# 读取文件
df = pd.read_fwf('example.txt', widths=widths, header=None, names=['ID', 'Name', 'Age', 'City'])
# 显示DataFrame
print(df)
6-6-2、结果输出 
# 6-1、创建测试用的.txt文件
# None# 6-2、基础用法
#       ID        Name  Age         City
# 0  12345    John Doe   25     New York
# 1  67890  Jane Smith   30  Los Angeles# 6-3、自动推断列宽
#           ID     Name  Age     City
# 0  12345John  Doe  25  New     York
# 1  67890Jane  Smith30  Los  Angeles# 6-4、使用widths参数
#       ID        Name  Age         City
# 0  12345    John Doe   25     New York
# 1  67890  Jane Smith   30  Los Angeles

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

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

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

相关文章

05-《猪笼草》

猪笼草 猪笼草是猪笼草属全体物种的总称。属于热带食虫植物,原产地主要为旧大陆热带地区。其拥有一个独特的吸取营养的器官——捕虫笼,捕虫笼呈圆筒形,下半部稍膨大,笼口上具有盖子,因其形状像猪笼而得名。 猪笼草 形…

昂首平台一分钟理清VSA理论的市场阶段

VSA的英文全程是volume spread analysis,翻译过来就是成交量价格幅度差分析,从名字角度就也可以重点看出,VSA分析法主要是从成交量供应分析来分析。但是很多投资者不理解VSA理论的市场阶段,今天昂首平台就和投资者一分钟理清。 根…

第五篇——谋攻篇:韩信该死,拿破仑该亡

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 人生也是如此,伤敌一千,自损八百;而不…

AI绘画擦边变现赛道怎么玩?新手小白必看教程!

今天给大家介绍一个用 AI 搞擦边的变现赛道 而且可以说是0 成本变现的 现在真的越来越多的人都想 0 成本变现,那么 0 成本到底能不能变现,变现的上下限又是多少? 今天这个案例就可以很好的进行说明 可以说 AI 是现在第一生产力&#xff0…

【RT-thread studio 下使用STM32F103-学习sem-信号量-初步使用-线程之间控制-基础样例】

【RT-thread studio 下使用STM32F103-学习sem-信号量-初步使用-线程之间控制-基础样例】 1、前言2、环境3、事项了解(1)了解sem概念-了解官网消息(2)根据自己理解,设计几个使用方式(3)不建议运行…

const char * 、char const *、 char * const 三者的区别

一.const char*(常量指针) 1.定义一个指向字符常量的指针,这里,ptr是一个指向 char* 类型的常量,所以不能用ptr来修改所指向的内容,换句话说,*ptr的值为const,不能修改。但是ptr的声…

【Python机器学习】处理文本数据——停用词

删除没有信息量的单词有一种方法,就是舍弃那些出现次数太多以至于没有信息量的单词。 有两种主要方法: 1、使用特定语言的停用词(stopword)列表; 2、舍弃那些出现过于频繁的单词。 scikit-learn的feature_extracti…

达梦DM8使用管理工具自动commit设置

缘起 随着国产化信创大势崛起,越来越多的国产数据库跃上潮头。在用惯了国外数据库软件后,使用DM8的过程中前前后后遇到了不少“不习惯”,当然,用多了也就习惯了,要多给国产DB一些成长空间。 功能点探索 DM管理工具…

强烈建议!所有Python基础差的同学,死磕这本64页的背记手册!

Python背记手册是一份非常实用的学习资料,它涵盖了Python语言的基础知识、语法规则、常用函数和模块等内容,对于初学者和有一定基础的Python程序员来说都非常有用。通过背诵这份手册,可以加深对Python语言的理解和记忆,提高编程能…

摸鱼大数据——Spark Core——RDD综合案例——搜狗搜索流

2.1 数据源介绍 访问时间 用户id []里面是用户输入搜索内容 url结果排名 用户点击页面排序 用户点击URL 字段与字段之间的分隔符号为 \t和空格 (制表符号) 2.2 需求分析 需求一: 统计每个 关键词 出现了多少次,最终展示top10数据关键词示例: [.,,的,360, 安全卫士, 哄抢, 救灾…

Zabbix触发器

目录 触发器基础概念 创建和管理触发器 示例 定义一个触发器 在 Zabbix 中,触发器(Trigger)用于定义在监控数据满足特定条件时触发警报或动作。触发器是实现监控告警和自动响应的核心组件之一。以下是关于 Zabbix 触发器的详细解释和用法…

yaml格式转换成json格式

yaml格式转换成json格式 ①postman生成的结果是yaml格式 ps:postman输出的格式是没有自动换行的,需要将内容换行 ②复制到Python的脚本跑一趟:自动换行并去掉/n; str " "//(postman输出的内容) print(st…

LMT加仿真,十一届大唐杯全国总决赛

这次省赛带了太多个省一了,并且很多都进入了国赛总决赛,具体可看下面的图片,只放了一部分。目前只有B组是只有一个商用设备赛也就是LMT,A组和高职组都是仿真实践赛加上商用设备赛。 针对商用设备赛有对应的资料&#xff…

windows server2016搭建AD域服务器

文章目录 一、背景二、搭建AD域服务器步骤三、生成可供java程序使用的keystore文件四、导出某用户的keytab文件五、主机配置hosts文件六、主机确认是否能ping通本人其他相关文章链接 一、背景 亲测可用,之前搜索了很多博客,啥样的都有,就是不介绍报错以…

中国1km高分辨率高质量逐年近地表CO数据集(2013-2022年)

该数据为中国高分辨率高质量逐年CO数据集,该数据集主要的空间范围覆盖整个中国,其中内容包括中国1km高分辨率高质量逐年CO数据集(2013-2022年)。时间分辨率为年,单位为mg/m3,数据以(.nc/.tif)格式进行存储。

人工智能写作对话系统源码 自然语言的处理能力 前后端分离 带完整的安装代码包以及搭建教程

系统概述 随着互联网信息爆炸式增长,用户对于高质量、个性化内容的需求日益增长,而传统的内容生成方式已难以满足这一需求。另一方面,深度学习和自然语言处理技术的突破性进展,为人机交互提供了新的可能。本项目正是在此背景下应…

检索增强生成RAG系列7--RAG提升之高级阶段

系列5中讲到会讲解3个方面RAG的提升,它们可能与RAG的准确率有关系,但是更多的它们是有其它用途。本期来讲解第三部分:高级阶段。之所以说是高级阶段,可能是不好归一,而且实现起来相对于前面来说可能更为复杂。 目录 1…

PyCharm中如何将某个文件设置为默认运行文件

之前在使用JetBrain公司的另一款软件IDEA的时候,如果在选中static main函数后按键altenter可以默认以后运行Main类的main函数。最近在使用PyCharm学习Python,既然同为一家公司的产品而且二者的风格如此之像,所以我怀疑PyCharm中肯定也有类似的…

fastadmin 如何给页面添加水印

偶然发现fastadmin框架有个水印插件&#xff0c;看起来漂亮&#xff0c;就想也实现这样的功能&#xff0c;看到需要费用。但是现成的插件需要费用&#xff0c;自己动手丰衣足食。说干就干。 1. 找到watermark.js &#xff0c;放到assets/js/ 下面 2.具体页面引入 <script…

【总线】AXI4第八课时:介绍AXI的 “原子访问“ :独占访问(Exclusive Access)和锁定访问(Locked Access)

大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计感兴趣&#xff0c;那你绝对不能错过我们今天的主角——AXI4总线。作为ARM公司AMBA总线家族中的佼佼者&#xff0c;AXI4以其高性能和高度可扩展性&#xff0c;成为了现代电子系统中不可或缺的通信桥梁…