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、博客个人主页
相关文章:

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、代码…...

天猫超市卡怎么用
猫超卡是在天猫超市里面消费用的卡 但是我们现在买东西都喜欢货比三家,肯定是哪家划算在哪买,要是淘宝其他店铺或京东卖的更便宜,猫超卡自然就用不上了 这种情况的话,还不如直接把猫超卡的余额提出来,买东西也不受限…...
ai智能语音机器人电销系统:让销售更快速高效
智能机器人电销系统是指采用人工智能和机器人技术来实现的自动电销工具。随着企业竞争加剧,销售团队面临的挑战也越来越大。在人力资源和成本控制方面有很大的限制,而传统的电销方式也已经无法满足市场需求,因此需要一种新的解决方案来提高营…...

Redis 中的通用命令(命令的返回值、复杂度、注意事项及操作演示)
Redis 中的通用命令(高频率操作) 文章目录 Redis 中的通用命令(高频率操作)Redis 的数据类型redis-cli 命令Keys 命令Exists 命令Expire 命令Ttl 命令Type命令 Redis 的数据类型 Redis 支持多种数据类型,整体来说,Redis 是一个键值对结构的,…...
【Hive实战】 HiveMetaStore的指标分析
HiveMetaStore的指标分析(一) 文章目录 HiveMetaStore的指标分析(一)背景目标部署架构 hive-site.xml相关配置元数据服务的指标相关配置 源码部分(hive2.3系)JvmPauseMonitor.javaHiveMetaStore的内部类HMS…...

【Linux系统】CUDA的安装与graspnet环境配置遇到的问题
今天在安装环境时遇到报错: The detected CUDA version (10.1) mismatches the version that was used to compile PyTorch (11.8). Please make sure to use the same CUDA versions. 报错原因:安装的cuda版本不对应,我需要安装cuda的版本…...

滤波算法学习笔记
目录 引言 一、定义 二、分类 三、常见滤波算法 四、应用与优势 五、发展趋势 例程 1. 均值滤波(Moving Average Filter) 2. 中值滤波(Median Filter) 3. 高斯滤波(Gaussian Filter) 4.指数移动…...

【机器学习】机器学习的重要方法——线性回归算法深度探索与未来展望
欢迎来到 破晓的历程博客 引言 在数据科学日益重要的今天,线性回归算法以其简单、直观和强大的预测能力,成为了众多领域中的基础工具。本文将详细介绍线性回归的基本概念、核心算法,并通过五个具体的使用示例来展示其应用,同时探…...

百度云智能媒体内容分析一体机(MCA)建设
导读 :本文主要介绍了百度智能云MCA产品的概念和应用。 媒体信息海量且复杂,采用人工的方式对视频进行分析处理,面临着效率低、成本高的困难。于是,MCA应运而生。它基于百度自研的视觉AI、ASR、NLP技术,为用户提供音视…...

笔记本电脑部署VMware ESXi 6.0系统
正文共:888 字 18 图,预估阅读时间:1 分钟 前面我们介绍了在笔记本上安装Windows 11操作系统(Windows 11升级不了?但Win10就要停服了啊!来,我教你!),也介绍了…...

k8s 中间件
1. zookeeper 是的,Zookeeper 和 Kafka 经常一起使用,Zookeeper 在 Kafka 中扮演了关键角色。以下是 Zookeeper 和 Kafka 在实际项目中的结合使用及其作用的详细说明。 项目背景 假设我们有一个分布式数据处理系统,该系统需要高吞吐量的实…...
如何 提升需求确定性
提升需求确定性是确保项目成功的关键之一。以下是一些方法和策略可以帮助你提升需求的确定性: 积极的利益相关者参与: 确保所有关键利益相关者(包括最终用户、业务所有者、开发团队等)参与需求收集和确认过程。他们的参与可以提供…...

探索Sui的面向对象模型和Move编程语言
Sui区块链作为一种新兴的一层协议(L1),采用先进技术来解决常见的一层协议权衡问题。Cointelegraph Research详细剖析了这一区块链新秀。 Sui使用Move编程语言,该语言专注于资产表示和访问控制。本文探讨了Sui的对象中心数据存储模…...

【vue动态组件】VUE使用component :is 实现在多个组件间来回切换
VUE使用component :is 实现在多个组件间来回切换 component :is 动态父子组件传值 相关代码实现: <component:is"vuecomponent"></component>import componentA from xxx; import componentB from xxx; import componentC from xxx;switch(…...

springboot dynamic配置多数据源
pom.xml引入jar包 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.5.2</version> </dependency> application配置文件配置如下 需要主要必须配置…...

线性代数知识点搜刮
求你别考太细... 目录 异乘变零定理 行列式转置 值不变 重要关系 中间相等,取两头 特征值公式 向量正交 点积为0 拉普拉斯定理 矩阵的秩 特征值和特征向量 |A|特征值的乘积 & tr(A)特征值的和 要记要背 增广矩阵 异乘变零定理 某行(…...

景区智能厕所系统,打造智能化,人性化公共空间
在智慧旅游的大潮中,景区智能厕所系统正逐渐成为提升公共空间智能化、人性化水平的关键载体。作为智慧城市建设的重要组成部分,智能厕所系统不仅解决了传统公厕存在的诸多问题,更通过科技的力量,为游客创造了更加舒适、便捷的如厕…...

Windows中Git的使用(2024最新版)
Windows中Git的使用 获取ssh keys本地绑定邮箱初始化本地仓库添加到本地缓存区提交到本地缓存区切换本地分支为main关联远程分支推送到GitHub查看推送日志 Git 2020年发布了新的默认分支名称"main",取代了"master"作为主分支的名称。操作有了些…...

【pytorch12】什么是梯度
说明 导数偏微分梯度 梯度:是一个向量,向量的每一个轴是每一个方向上的偏微分 梯度是有方向也有大小,梯度的方向代表函数在当前点的一个增长的方向,然后这个向量的长度代表了这个点增长的速率 蓝色代表比较小的值,红色…...

南京,协同开展“人工智能+”行动
南京,作为江苏省的省会城市,一直以来都是科技创新和产业发展的高地。近日,南京市政府正式印发了《南京市进一步促进人工智能创新发展行动计划(2024—2026 年)》和《南京市促进人工智能创新发展若干政策措施》的“11”文…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...

C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...