使用 to_xml 将 Pandas DataFrame 转换为 XML 文件

2023-10-15

The to_xml方法允许您将 DataFrame 转换为 XML 格式。

在本教程中,我们将逐步完成导出Pandas使用 DataFrame 到 XML 文件to_xml method.

 

 

Pandas to_xml 语法

基本语法为to_xml方法如下:


DataFrame.to_xml(path_or_buffer=None, root_name="data", row_name="row", na_rep="nan", attr_cols=None, elem_cols=None, attrs_prefix='@', elems_prefix='_', header=True, index=True, root_attrs=None, encoding=None, xml_declaration=True, pretty_print=True, processor=None, **kwargs)
  

以下是该方法的一些常用参数:

  • 路径或缓冲区:目标文件或可写缓冲区。如果未提供,结果将以字符串形式返回。
  • 根名称:根元素的名称。默认为“数据”。
  • row_name:行元素的名称。默认为“行”。
  • na_rep:缺失值的表示。默认为“nan”。
  • 属性列:要序列化为行元素中的属性的列。
  • 元素列:要序列化为子元素的列。
  • 属性前缀:为每个行属性添加的前缀。默认为“@”。
  • 元素前缀:为每行子元素添加的前缀。默认为“_”。
  • header:是否在输出中包含标题。默认为 True。
  • index:是否在输出中包含索引。默认为 True。
  • 根属性:包含根元素属性的字典。
  • encoding:输出文件的字符编码。例如,“utf-8”。
  • xml_声明:是否在文件开头包含XML声明。默认为 True。
  • 漂亮的打印:嵌套元素是否包含缩进。默认为 True。

 

指定文件路径或缓冲区

The path_or_buffer中的参数to_xml方法定义了结果 XML 内容的写入位置。您有两个主要选择:

  1. 指定保存 XML 数据的文件路径。
  2. 使用缓冲区(如 StringIO)捕获 XML 内容以进行进一步处理。

让我们探讨一下这两种情况。

导出到文件


import pandas as pd
df = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Age': [25, 30],
    'Occupation': ['Engineer', 'Doctor']
})
df.to_xml("sample_data.xml")
  

如果你检查当前目录,你会发现一个名为sample_data.xml。它包含了:


<?xml version='1.0' encoding='utf-8'?>
<data>
    <row index="0">
        <Name>Alice</Name>
        <Age>25</Age>
        <Occupation>Engineer</Occupation>
    </row>
    <row index="1">
        <Name>Bob</Name>
        <Age>30</Age>
        <Occupation>Doctor</Occupation>
    </row>
</data>
  

写入缓冲区


from io import BytesIO

buffer = BytesIO()
df.to_xml(buffer)
buffer.seek(0)  # Reset buffer position to the beginning
xml_content = buffer.read().decode('utf-8')
print(xml_content)
  

Output:


<?xml version='1.0' encoding='utf-8'?>
<data>
    <row index="0">
        <Name>Alice</Name>
        <Age>25</Age>
        <Occupation>Engineer</Occupation>
    </row>
    <row index="1">
        <Name>Bob</Name>
        <Age>30</Age>
        <Occupation>Doctor</Occupation>
    </row>
</data>
  

在这种情况下,我们利用StringIO用于捕获 XML 内容的缓冲区。

调用后to_xml方法,您可以从缓冲区中检索 XML 内容并根据需要进行处理。

 

选择 XML 解析器

The processor的参数to_xml方法允许您指定要使用的 XML 解析器。 Pandas 支持以下解析器:

  1. lxml
  2. etree(Python 内置xml.etree.ElementTree)

让我们深入研究一下如何使用其中的每一个。

使用 lxml 作为处理器

To use lxml,您首先需要安装它:


!pip install lxml
  

安装后,在to_xml method:


df.to_xml("sample_data_lxml.xml", processor='lxml')
  

这将使用以下命令生成一个 XML 文件lxml图书馆。结果与默认值类似,但是lxml与标准库相比,可能会提供额外的功能。

使用 etree 作为处理器

指定方法如下:


df.to_xml("sample_data_etree.xml", processor='etree')
  

该命令使用以下命令写入 XML 数据etree parser.

 

指定根元素的名称

在 XML 文档中,根元素是包含所有其他元素的最顶层元素。

The root_name中的参数to_xml方法允许您为根元素指定自定义名称以符合给定的 XML 架构。

假设我们要将根元素名称更改为“Employees”:


df.to_xml("sample_data.xml",root_name="Employees")  

Output:


<?xml version='1.0' encoding='utf-8'?>
<Employees>
    <row index="0">
        <Name>Alice</Name>
        <Age>25</Age>
        <Occupation>Engineer</Occupation>
    </row>
    <row index="1">
        <Name>Bob</Name>
        <Age>30</Age>
        <Occupation>Doctor</Occupation>
    </row>
</Employees>
  

根元素现在被命名为<Employees>,使 XML 结构对于该数据来说更具有语义意义。

 

删除索引

默认情况下,当使用以下方法将 DataFrame 转换为 XML 时to_xml方法中,每行的索引都作为属性包含在内。

要从 XML 中排除索引,您可以设置index的参数to_xml to False:


print(df.to_xml(root_name="Company", row_name="Employee", index=False))  

Output:


<?xml version='1.0' encoding='utf-8'?>
<Company>
	<Employee>
		<Name>Alice</Name>
                <Age>25</Age>
		<Position>Engineer</Position>
	</Employee>
	<Employee>
		<Name>Bob</Name>
                <Age>30</Age>
		<Position>Doctor</Position>
	</Employee>
</Company>
  

The index现在每个人都缺席了<Employee>元素。

 

命名各个行元素

在根元素中,DataFrame 的每一行都被转换为单独的 XML 元素。默认情况下,该元素被命名为<row>.

The row_name参数允许您自定义这些单独行元素的名称。

更改行元素名称

假设我们希望每一行代表一个单独的“员工”。为了达成这个:


df.to_xml("sample_data.xml", root_name="Company", row_name="Employee")
  

Output:


<?xml version='1.0' encoding='utf-8'?>
<Company>
    <Employee index="0">
        <Name>Alice</Name>
        <Age>25</Age>
        <Occupation>Engineer</Occupation>
    </Employee>
    <Employee index="1">
        <Name>Bob</Name>
        <Age>30</Age>
        <Occupation>Doctor</Occupation>
    </Employee>
</Company>
  

每个数据条目现在都封装在一个<Employee>元素。

 

指定默认 XML 命名空间

XML 命名空间用于区分可能具有相同名称但属于不同 XML 词汇表的 XML 元素和属性。

The namespaces参数允许您为 XML 输出分配默认命名空间以及其他命名空间。

让我们为 XML 分配一个默认名称空间:


namespace = "http://www.example.com/employees"
df.to_xml("sample_data.xml", root_name="Company", row_name="Employee", namespaces={"": namespace})
  

Output:


<?xml version='1.0' encoding='utf-8'?>
<Company xmlns="http://www.example.com/employees">
    <Employee index="0">
        <Name>Alice</Name>
        <Age>25</Age>
        <Occupation>Engineer</Occupation>
    </Employee>
    <Employee index="1">
        <Name>Bob</Name>
        <Age>30</Age>
        <Occupation>Doctor</Occupation>
    </Employee>
</Company>
  

The xmlns属性中的Company根元素指定所有元素的默认名称空间。

分配多个命名空间

您还可以定义多个命名空间:


namespaces = {
    "": "http://www.example.com/employees",
    "role": "http://www.example.com/employee_roles"
}
df.to_xml("sample_data.xml", root_name="Company", row_name="Employee", namespaces=namespaces)
  

Output:


<?xml version='1.0' encoding='utf-8'?>
<Company xmlns="http://www.example.com/employees" xmlns:role="http://www.example.com/employee_roles">
    <Employee index="0">
        <Name>Alice</Name>
        <Age>25</Age>
        <Occupation>Engineer</Occupation>
    </Employee>
    <Employee index="1">
        <Name>Bob</Name>
        <Age>30</Age>
        <Occupation>Doctor</Occupation>
    </Employee>
</Company>
  

在此输出中,默认命名空间仍然是http://www.example.com/employees,但我们还为“角色”添加了一个新的命名空间,可用于特定于员工角色的元素或属性。

 

要写入属性的列

有时,您不希望将 DataFrame 中的每一列表示为单独的元素,而是希望将其中一些列表示为另一个元素的属性。

The attr_cols中的参数to_xml方法允许您定义哪些列应呈现为属性。

假设我们希望“Age”列成为“Employee”元素的属性:


df.to_xml("sample_data.xml", root_name="Company", row_name="Employee", attr_cols=['Age'])
  

Output:


<?xml version='1.0' encoding='utf-8'?>
<Company>
  <Employee index="0" Age="25"/>
  <Employee index="1" Age="30"/>
</Company>
  

“Age”列现在表示为每个“Employee”元素的属性,而不是单独的子元素。

您可以使用以下方式表示省略的元素elem_cols我们接下来会看到。

 

指定要写入为元素的列

The to_xml方法提供了elem_cols参数来指定哪些列应呈现为 XML 元素。

假设我们只想将“职业”列表示为一个元素:


df.to_xml("sample_data.xml", root_name="Company", row_name="Employee", elem_cols=['Occupation'])
  

Output:


<?xml version='1.0' encoding='utf-8'?>
<Company>
  <Employee>
    <index>0</index>
    <Occupation>Engineer</Occupation>
  </Employee>
  <Employee>
    <index>1</index>
    <Occupation>Doctor</Occupation>
  </Employee>
</Company>
  

通过使用elem_cols参数中,只有“Occupation”列被表示为 XML 输出中的元素,而其他列被省略。

要表示其他省略的列,您可以将它们包含在elem_cols范围。

 

用指定值替换 NaN

将数据导出到 XML 时,您的数据可能会缺少元素或为空元素。

如果您想用特定值替换缺失的元素。这to_xml方法提供了na_rep参数来解决这个问题。

首先,让我们创建一个具有 NaN 值的示例 DataFrame:


import pandas as pd
import numpy as np
data = {
    'Name': ['Alice', 'Bob'],
    'Age': [25, np.nan],
    'Occupation': ['Engineer', 'Doctor']
}
df = pd.DataFrame(data)
print(df.to_xml(root_name="Company", row_name="Employee"))
  

Output:


<?xml version='1.0' encoding='utf-8'?>
<Company>
    <Employee index="0">
        <Name>Alice</Name>
        <Age>25</Age>
        <Occupation>Engineer</Occupation>
    </Employee>
    <Employee index="1">
        <Name>Bob</Name>
        <Age/>
        <Occupation>Doctor</Occupation>
    </Employee>
</Company>
  

请注意,对于鲍勃来说,<Age>元素为空,因为 DataFrame 中的值为 NaN。

现在,让我们用字符串“Unknown”替换 NaN 值:


print(df.to_xml(root_name="Company", row_name="Employee", na_rep="Unknown"))
  

Output:


<?xml version='1.0' encoding='utf-8'?>
<Company>
    <Employee index="0">
        <Name>Alice</Name>
        <Age>25</Age>
        <Occupation>Engineer</Occupation>
    </Employee>
    <Employee index="1">
        <Name>Bob</Name>
        <Age>Unknown</Age>
        <Occupation>Doctor</Occupation>
    </Employee>
</Company>
  

随着na_rep参数中,Bob 的“Age”列中的 NaN 值被替换为“Unknown”。

 

排除 XML 声明

宣言<?xml version='1.0' encoding='utf-8'?>包含在大多数 XML 文档的顶部。

默认情况下,当您使用to_xml,它包括 XML 声明。

如果您希望排除 XML 声明,请设置xml_declaration参数为False:


print(df.to_xml(root_name="Company", row_name="Employee", xml_declaration=False))
  

Output:


<Company>
    <Employee index="0">
        <Name>Alice</Name>
        <Position>Engineer</Position>
    </Employee>
    <Employee index="1">
        <Name>Bob</Name>
        <Position>Doctor</Position>
    </Employee>
</Company>
  

选择包含或排除 XML 声明通常取决于将处理 XML 的目标应用程序或系统。

 

禁用漂亮打印

The to_xmlPandas 中的方法有一个名为pretty_print控制 XML 输出的缩进以获得更好的可读性。

默认情况下,to_xml方法输出带缩进的 XML。

要禁用缩进,请设置pretty_print参数为False:


import pandas as pd
data = {
    'Name': ['Alice', 'Bob'],
    'Position': ['Engineer', 'Doctor']
}
df = pd.DataFrame(data)
print(df.to_xml(root_name="Company", row_name="Employee", pretty_print=False))
  

Output:


<?xml version='1.0' encoding='utf-8'?><Company><Employee index="0"><Name>Alice</Name><Position>Engineer</Position></Employee><Employee index="1"><Name>Bob</Name><Position>Doctor</Position></Employee></Company>
  

 

应用 XSLT 样式表

当您想要更改 XML 文档的结构或将其转换为不同的格式时,XSLT 特别有用。

您可以使用stylesheet的参数to_xml将 XSLT 样式表应用到 XML 输出的方法。

首先,让我们生成 DataFrame 的简单 XML 表示形式:


import pandas as pd
data = {
    'Name': ['Alice', 'Bob'],
    'Position': ['Engineer', 'Doctor']
}
df = pd.DataFrame(data)
print(df.to_xml(root_name="Company", row_name="Employee"))
  

Output:


<?xml version='1.0' encoding='utf-8'?>
<Company>
    <Employee index="0">
        <Name>Alice</Name>
        <Position>Engineer</Position>
    </Employee>
    <Employee index="1">
        <Name>Bob</Name>
        <Position>Doctor</Position>
    </Employee>
</Company>
  

假设我们有以下 XSLT 样式表,可将 XML 转换为 HTML:


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>Company Employees</h2>
    <table border="1">
      <tr>
        <th>Name</th>
        <th>Position</th>
      </tr>
      <xsl:for-each select="Company/Employee">
      <tr>
        <td><xsl:value-of select="Name"/></td>
        <td><xsl:value-of select="Position"/></td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
  

该 XSLT 将 XML 数据转换为 HTML 表。

现在,让我们应用这个样式表:


xslt = '''...'''  # The XSLT content shown above

print(df.to_xml(root_name="Company", row_name="Employee", stylesheet=xslt))
  

Output:


<html>
  <body>
    <h2>Company Employees</h2>
    <table border="1">
      <tr>
        <th>Name</th>
        <th>Position</th>
      </tr>
      <tr>
        <td>Alice</td>
        <td>Engineer</td>
      </tr>
      <tr>
        <td>Bob</td>
        <td>Doctor</td>
      </tr>
    </table>
  </body>
</html>
  

注意:不要在 XSLT 样式表的开头留下任何空格,以避免错误。

 

定义压缩类型

The to_xmlPandas 中的方法提供了compression参数使您能够在导出 XML 数据时指定压缩类型。

要通过压缩保存 XML 数据,您可以指定compression范围:


# Saving the XML with gzip compression
df.to_xml("output.xml.gz", root_name="Company", row_name="Employee", compression='gzip')
  

使用此代码,XML 内容将使用 gzip 格式压缩并保存为output.xml.gz.

Pandas to_xml支持多种压缩类型,包括:

  • ‘gzip’
  • ‘bz2’
  • ‘zip’
  • ‘xz’

读取压缩的 XML 数据

值得注意的是,如果您以压缩格式保存 XML 并希望将其读回到 DataFrame 中,则可以使用以下命令轻松完成此操作熊猫read_xml功能:


compressed_df = pd.read_xml("output.xml.gz", compression='gzip')
print(compressed_df)
  

Output:


      Name   Position
0    Alice  Engineer
1      Bob    Doctor
2  Charlie    Artist
  

 

存储连接选项

The to_xmlPandas 中的方法包括storage_options参数,允许您传递用于存储连接的额外选项的字典,例如云存储提供商或分布式文件系统。

例如,如果您使用 Amazon S3,您可能需要提供特定凭证:


s3_options = {
    'key': 'YOUR_ACCESS_KEY',
    'secret': 'YOUR_SECRET_KEY',
    'use_ssl': False  # Example option to not use SSL (default is True)
}
df.to_xml("s3://my_bucket/output.xml", root_name="Company", row_name="Employee", storage_options=s3_options)
  

请注意:在代码中对凭据进行硬编码时请务必小心。使用环境变量或其他方法来保密源代码会更安全。

 

Resource

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_xml.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 to_xml 将 Pandas DataFrame 转换为 XML 文件 的相关文章

  • Kivy - 文本换行工作错误

    我正在尝试在 Kivy 1 8 0 应用程序中换行文本 当没有太多文字时 一切正常 但如果文本很长并且窗口不是很大 它只是剪切文本 这是示例代码 vbox BoxLayout orientation vertical size hint y
  • Jupyter Notebooks 不显示进度条

    我正在尝试在 Jupyter 笔记本中显示进度条 这是一台新电脑 我通常做的事情似乎不起作用 from tqdm import tqdm notebook example iter 1 2 3 4 5 for rec in tqdm not
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • 当我在 Pandas 中使用 df.corr 时,我的一些列丢失了

    这是我的代码 import numpy as np import pandas as pd import seaborn as sns import matplotlib pyplot as plt data pd read csv dea
  • 当单词以“|”分隔时如何读取文件(埃因霍温)?

    在Python中 我有一个文件 其中的单词由 例如 city state zipcode 我的文件阅读器无法区分单词 另外 我希望我的文件阅读器从第 2 行而不是第 1 行开始 如何让我的文件阅读器分隔单词 import os import
  • 更改 Altair 中的构面标题位置?

    如何将方面标题 在本例中为年份 移动到每个图的上方 默认值似乎位于图表的一侧 这可以轻易改变吗 import altair as alt from vega datasets import data df data seattle weat
  • 如何将 self 传递给装饰器?

    我该如何通过self key下面进入装饰器 class CacheMix object def init self args kwargs super CacheMix self init args kwargs key func Cons
  • 使用 scipy curve_fit 拟合噪声指数的建议?

    我正在尝试拟合通常按以下方式建模的数据 def fit eq x a b c d e return a 1 np exp x b c np exp x d e x np arange 0 100 0 001 y fit eq x 1 1 1
  • Pandas 滚动窗口 Spearman 相关性

    我想使用滚动窗口计算 DataFrame 两列之间的 Spearman 和 或 Pearson 相关性 我努力了df corr df col1 rolling P corr df col2 P为窗口尺寸 但我似乎无法定义该方法 添加meth
  • 动态 __init_subclass__ 方法的参数绑定

    我正在尝试让类装饰器工作 装饰器会添加一个 init subclass 方法到它所应用的类 但是 当该方法动态添加到类中时 第一个参数不会绑定到子类对象 为什么会发生这种情况 举个例子 这是可行的 下面的静态代码是我试图最终得到的示例 cl
  • `list()` 被认为是一个函数吗?

    list显然是内置类型 https docs python org 3 library stdtypes html list在Python中 我看到底下有一条评论this https stackoverflow com a 53645813
  • 在Python中计算内存碎片

    我有一个长时间运行的进程 不断分配和释放对象 尽管正在释放对象 但 RSS 内存使用量会随着时间的推移而增加 如何计算发生了多少碎片 一种可能性是计算 RSS sum of allocations 并将其作为指标 即便如此 我该如何计算分母
  • Python 惰性迭代器

    我试图了解迭代器表达式如何以及何时被求值 以下似乎是一个懒惰的表达 g i for i in range 1000 if i 3 i 2 然而 这个在构造上失败了 g line strip for line in open xxx r if
  • 具有屏蔽无效值的 pcolormesh

    我试图将一维数组绘制为 pcolormesh 因此颜色沿 x 轴变化 但每个 x 的 y 轴保持不变 但我的数据有一些错误值 因此我使用屏蔽数组和自定义颜色图 其中屏蔽值设置为蓝色 import numpy as np import mat
  • 使用 numpy 在 python 中执行最大方差旋转

    我正在研究矩阵的主成分分析 我已经找到了如下所示的组件矩阵 A np array 0 73465832 0 24819766 0 32045055 0 3728976 0 58628043 0 63433607 0 72617152 0 5
  • 解析根元素内元素之间的 XML 文本

    我正在尝试用 Python 解析 XML 以下是 XML 结构的示例 a aaaa1 b bbbb b aaaa2 a
  • 如何在 robobrowser-python 中发出 POST 请求

    http robobrowser readthedocs org en latest api html http robobrowser readthedocs org en latest api html 我正在尝试使用 APIbrows
  • 如何在单元测试中使用 JSON 发送请求

    我的 Flask 应用程序中有在请求中使用 JSON 的代码 我可以像这样获取 JSON 对象 Request request get json 这一直工作得很好 但是我正在尝试使用 Python 的 unittest 模块创建单元测试 但
  • 在 Django shell 会话期间获取 SQL 查询计数

    有没有办法打印 Django ORM 在 Django shell 会话期间执行的原始 SQL 查询的数量 Django 调试工具栏已经提供了此类信息 例如 5 QUERIES in 5 83MS但如何从 shell 中获取它并不明显 您可
  • 使用 urllib 编码时保持 url 参数有序

    我正在尝试用 python 模拟 get 请求 我有一个参数字典 并使用 urllib urlencode 对它们进行 urlencode 我注意到虽然字典的形式是 k1 v1 k2 v2 k3 v3 urlencoding 后参数的顺序切

随机推荐

  • 测试您的 Python 应用程序

    测试您的 Python 应用程序 学习路径 技能 测试 Python 代码 PyTest Mocking 没有一个开发人员是完美的 我们都会犯错误 如果不加以控制 其中一些错误可能会导致故障或错误 而恢复成本可能非常昂贵 测试您的代码有助于
  • 学习 Python 编程的 11 个初学者技巧

    目录 Make It Stick 提示 1 每天编码 技巧 2 写下来 提示 3 互动 秘诀 4 休息一下 提示 5 成为 Bug 赏金猎人 Make It Collaborative 提示 6 让自己周围都是正在学习的人 秘诀 7 教学
  • Python 对象的浅复制与深复制

    目录 制作浅副本 制作深层副本 复制任意Python对象 3 件事要记住 Python 中的赋值语句不会创建副本对于对象 它们仅将名称绑定到对象 为了不可变的对象 通常没有什么区别 但对于与可变的对象或可变对象的集合 您可能正在寻找一种方法
  • Pythonic 壁纸包

    通过以下方式表达您对 Python 的热爱 The Pythonic Wallpapers Pack 原价 9 99 美元 今日仅需 4 99 美元 使用这些为您的计算机 手机或平板电脑定制的独特壁纸 向世界展示您是 Python 达人 你
  • 理解 Python print() 函数:超越 Hello World

    您可能想知道 为什么要写一个关于简单打印功能的完整教程 但不要被欺骗 谦卑者print 函数虽然使用简单 但却是 Python 工具库中不可或缺的工具 本教程将引导您了解使用print 函数 探索其语法和参数 然后深入研究更高级的主题 您将
  • 在 Python 中删除字符串中标点符号的 5 种方法

    Python 提供了多种删除标点符号的方法 这里的目标是将字符串中的每个标点字符替换为空字符串 让我们为所有示例考虑以下原始字符串 original string Hello World Let s test some punctuatio
  • PyQt5 教程 – Python GUI 编程示例

    PyQt5 是用 Python 构建 GUI 应用程序时最常用的模块之一 这是因为它的简单性 正如您将看到的那样 鼓励开发人员使用 PyQt5 的另一个重要功能是 PyQt5 设计器 它使得在短时间内开发复杂的 GUI 应用程序变得非常容易
  • Python GUI 示例(Tkinter 教程)

    在本教程中 我们将通过使用 Tkinter 包编写一些 Python GUI 示例来学习如何开发图形用户界面 Tkinter 包作为标准包随 Python 一起提供 因此我们不需要安装任何东西即可使用它 Tkinter 包是一个非常强大的包
  • Python 中的凯撒密码(文本加密教程)

    密码学涉及将一条信息 以纯文本形式 加密或编码为一种看起来乱码且在普通语言中毫无意义的形式 此编码消息 也称为密文然后 目标接收者可以使用传达给最终用户的解码技术 通常与私钥一起 将其解码回纯文本 凯撒密码是我们将在本教程中重点介绍的最古老
  • 安装和使用非 Composer Laravel 包

    如果你想在 Laravel 中使用包 你只需在 Composer json 文件中添加一行即可完成工作 这是因为该包在 packagist org 中可用 如果您要使用的包是非 Composer Laravel 包怎么办 可能在 git 存
  • 文本处理中 Awk 命令的 30 个示例

    在上一篇文章中 我们谈到了sed命令我们看到了许多在文本处理中使用它的例子 我们看到了它在这方面的优点 但它有一些局限性 有时您需要一些强大的功能 让您能够更好地控制数据处理 这是哪里awk 命令进来 awk 命令或具体的 GNU awk
  • 安装、保护、访问和配置 Linux 邮件服务器 (Postfix)

    如果您想发送或接收电子邮件 您应该有一个邮件服务器 在这篇文章中 我们将讨论 Linux 邮件服务器以及 SMTP 简单邮件传输协议 以及其他邮件相关协议 例如邮局协议 POP 和互联网消息访问协议 IMAP 的工作原理以及它们之间的关系他
  • 了解和使用 Linux Subshel​​l(实用指南)

    子shell是由shell启动的子进程 shell本质上是一个命令行解释器 它共享父 shell 的属性 但在单独的进程空间中运行 子 shell 为执行命令和运行脚本提供了隔离性和灵活性 子 shell 通常用于任务自动化 并行执行和模块
  • 加速您的 Python 代码:Numba 实用指南

    Numba 是一个开源 JIT 编译器 可以翻译以下代码的子集Python and NumPy代码转换为快速机器代码 它通过使用行业标准的 LLVM 编译器库并优化执行速度来加速数值计算 在本教程中 我们将探索如何使用 Numba 使 Py
  • Linux 正则表达式教程(Sed 和 AWK)示例

    为了成功地与Linux sed编辑和awk 命令在 shell 脚本中 您必须了解正则表达式或简称正则表达式 由于正则表达式有很多引擎 我们将使用 shell 正则表达式并了解 bash 在使用正则表达式方面的强大功能 首先 我们需要了解什
  • 10 多个在 Linux 中终止进程的示例

    在本教程中 我们将通过多个示例讨论如何终止 Linux 中的进程 在大多数情况下 就像输入 kill 命令然后输入进程 ID 通常缩写为 PID 一样简单 正如你所看到的 我们杀死了一个ID为1813的进程 如果您是 Windows 用户
  • 如何安装和配置 Squid Linux 代理服务器

    Linux代理服务器或代理服务器通常是保存访问过的网页以供以后请求的服务器 因此如果您尝试访问同一个网页或其他任何人 您将从代理服务器获取页面 这非常有用 它使网上冲浪速度更快并减少流量 这意味着成本更低 缓存服务器可以将外部流量减少至 4
  • 使用 Sed 命令进行文本替换的实际示例

    在本教程中 您将深入研究如何使用实际示例sed命令可用于文本替换 在本教程结束时 您将对以下方面有更深入的了解sed及其在文本替换中的实际应用 目录 hide 1 将 URL 中的 HTTP 更改为 HTTPS 2 用下划线替换空格 3 更
  • 数据帧过滤:在 Pandas 查询中使用正则表达式

    The 查询 方法Pandas 中允许您根据查询表达式过滤 DataFrame 行 将正则表达式 regex 的强大功能与query 方法允许更高级和灵活的查询 本教程将指导您完成使用正则表达式的过程query 熊猫中的方法 目录 hide
  • 使用 to_xml 将 Pandas DataFrame 转换为 XML 文件

    The to xml方法允许您将 DataFrame 转换为 XML 格式 在本教程中 我们将逐步完成导出Pandas使用 DataFrame 到 XML 文件to xml method 目录 hide 1 Pandas to xml 语法