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

news2024/11/27 0:24:08

目录

一、用法精讲

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.coloradmin.cn/o/1897531.html

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

相关文章

视频共享融合赋能平台LnyonCVS国标视频监控平台包含哪些功能

随着国内视频监控应用的迅猛发展,系统接入规模不断扩大。不同平台提供商的接入协议各不相同,导致终端制造商在终端维护时需要针对不同平台的软件版本提供不同的维护,资源造成了极大的浪费。 为响应国家对重特大事件通过视频监控集中调阅来掌…

数字信号处理实验二(模拟信号采样与重构及频谱分析FFT)

模拟信号采样与重构及频谱分析FFT(2学时) 要求: 对一模拟信号进行采样;对该采样信号进行重构;分析它们的频谱特征。目的: 熟悉MATLAB命令和编辑、运行、调试环境;掌握采样定理及对信号的频谱分析…

springboot高校合同信息管理系统-计算机毕业设计源码02888

摘要 随着高校规模的不断扩大和合作伙伴关系的增加,高校合同管理变得更加复杂和重要。传统的人工合同管理方式已经无法满足高校庞大的合同数量和复杂的合同流程需求。因此,借助信息技术来构建一个高校合同信息管理系统,并结合数据统计功能&am…

【数据分析】评估清理数据实战【淘宝母婴购物数据集】

概述 Ali_Mum_Baby 是一个数据集,其中包含 900 多万条儿童信息(生日和性别),这些信息由消费者提供,他们分享这些信息是为了获得更好的推荐或搜索结果。 数据说明 它包含消费者在淘宝或天猫上提供的 9,000,000 多个儿…

新港海岸NCS8822 低功耗DP转VGA 分辨率支持1920*1200*60HZ

NCS8822描述: NCS8822是一个低功耗显示端口到vga转换器。NCS8822集成了一个与DP1.2兼容的接收器和一个高速三通道视频DAC。对于DP1.2输入,NCS8822支持1车道/2车道,也支持车道交换功能。对于VGA输出NCS8822,在60Hz帧率下对WUXGA&a…

【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的版本…

西门子PLC1200--与电脑S7通讯

硬件构成 PLC为西门子1211DCDCDC 电脑上位机用PYTHON编写 二者通讯用网线,通讯协议用S7 PLC上的数据 PLC上的数据是2个uint,在DB1,地址偏移分别是0和2 需要注意的是DB块要关闭优化的块访问,否则是没有偏移地址的 PLC中的数据内…

千万不能踏入的渠道管理五大误区!【附策略】

一、引言 在当今激烈的市场竞争环境中,有效的渠道管理是企业获得竞争优势的关键。然而,在实践过程中,不少企业因陷入管理误区而影响了市场拓展和品牌建设。本文旨在揭示渠道管理中常见的五大误区,并提供避免策略,帮助…

H2 Database Console未授权访问漏洞封堵

背景 H2 Database Console未授权访问,默认情况下自动创建不存在的数据库,从而导致未授权访问。各种未授权访问的教程,但是它怎么封堵呢? -ifExists 很简单,启动参数添加 -ifExists ,它的含义&#xff1a…

《梦醒蝶飞:释放Excel函数与公式的力量》8.7 STDEV函数

8.7 STDEV函数 STDEV函数是Excel中用于计算一组数值的标准偏差的函数。标准偏差是统计学中的一个重要指标,用于衡量数据集中各数值偏离平均值的程度。它反映了数据的离散程度或波动大小。 8.7.1 函数简介 STDEV函数用于返回样本数据的标准偏差,标准偏…

巨头们涌入的医疗大模型,何时迎来最好的商业时代?_google医疗大模型 医疗大模型

当下极为火爆的大模型,在医疗赛道同样炙手可热。谷歌刚刚发布了准确率达 91.1%、性能远超 GPT-4 系列的多模态医学大模型 Med-Gemini,国内市场亦很热闹。自 2023 年以来,百度、腾讯、京东等诸多大厂都相继加码医疗大模型领域,与医…

Zabbix动作与媒介

目录 前言 1. 动作的基本概念 2. 动作的常见用途 一. 环境准备 二. 创建动作 三. 添加媒介 前言 在 Zabbix 中,动作(Actions)用于在特定事件发生时执行一系列预定义的操作,比如发送通知、执行脚本等。动作通常与触发器&…

竹云实力入选《现代企业零信任网络建设应用指南报告》代表性厂商

2024年7月3日,国内网络安全媒体安全牛正式发布《现代企业零信任网络建设应用指南报告(2024版)》。竹云凭借在零信任领域创新性的产品方案和优异的市场表现,实力入选代表性厂商。 伴随着云计算、AI、大数据等技术的发展,远程办公、业务协同、…

rs轨迹校验

最近发现有些网站的rs似乎上了轨迹校验,附图: 写了个解rscookie的插件,可以精准看到rs更改了那些校验点,需要做什么处理,就很舒服 有需要轨迹代码或者瑞数相关的可以联系 let v huaqu0727

STM32智能家居安防系统教程

目录 引言环境准备智能家居安防系统基础代码实现:实现智能家居安防系统 4.1 数据采集模块 4.2 数据处理与分析 4.3 控制系统实现 4.4 用户界面与数据可视化应用场景:安防管理与优化问题解决方案与优化收尾与总结 1. 引言 智能家居安防系统利用STM32嵌…

【python基础】—如何理解安装程序时要配置Widows和DOS操作系统中的path环境变量?

文章目录 前言一、环境变量是什么?二、为什么需要设置环境变量?三、配置anaconda的环境变量 前言 在安装一些程序的时候, 我们总是需要将安装路径配置到正在使用电脑的环境变量里。为什么要进行这一步呢?本文主要解释Widows和DOS…

【qt】如何通过域名获得IP地址?

域名是什么呢?像www.baidu.com的baidu.com就是域名. 域名相当于是网站的门牌号. 域名可以通过 DNS 解析将其转换为对应的 IP 地址. 用我们获取IP地址的方式就可以,但是现在没有可以用另一种方法. 槽函数的实现: void MainWindow::lookupHost(const QHostInfo &hostInf…

【docker】容器内配置环境变量

背景: 我要把下面的环境变量写到bash脚本里,起名叫environment_start.sh。 目的: 用于每次进入容器dev_into.sh的时候,让系统获取到环境变量。 操作步骤: 先在容器外找个合适的位置写环境变量bash脚本&#xff0c…

从0到1构建渠道运营体系:实战案例与策略指南

引言 在当今竞争激烈的市场环境中,有效的渠道运营是企业实现产品或服务快速触达目标用户、提升市场份额的关键。从零开始构建一个高效的渠道运营体系,不仅需要深思熟虑的策略规划,还需要灵活应变的实战操作。本文将结合实战案例,…

特殊用途二极管+二极管故障检测+三极管(BJT)的工作原理+定时器的使用(小灯定时闪烁实现)

2024-7-5,星期五,17:27,天气:晴,心情:晴。今天没有什么特殊的事情发生,继续学习啦,加油加油!!! 今日完成模电自选教材第二章内容的学习&#xff…