用 Python 将文件读入字典

Vaibhhav Khetarpal 2023年10月10日
  1. 在 Python 中使用 split() 函数将文件读入字典
  2. 在 Python 中使用 strip() 函数和 split() 函数将文件读入字典
  3. 在 Python 中使用字典理解将文件读入字典
  4. 在 Python 中使用 pandas 库将文件读入字典
用 Python 将文件读入字典

文件处理是任何 Web 应用程序开发和维护的重要组成部分。与其他流行的编程语言一样,Python 完全能够支持文件处理。它允许用户对不同类型的文件进行操作,同时承载一些基本操作,如读写等其他主流操作。

本教程演示了在 Python 中将文件读入字典的不同方法。

作为参考,我们将在代码中使用一个文本文件来解释本文中使用的不同方法。

文件 File1.txt 的内容:

4 x
5 y
6 z

在 Python 中使用 split() 函数将文件读入字典

split() 函数通常用于将给定的字符串切割成一个列表。

以下代码使用 split() 函数在 Python 中将文件读入字典。

a = {}
with open("File1.txt") as f:
    for line in f:
        (k, v) = line.split()
        a[int(k)] = v
print(a)

上面的代码提供了以下输出:

{4: 'x', 5: 'y', 6: 'z'}

解释:

  • 首先创建一个空字典 a
  • open() 函数用于打开和读取给定的文件 File1.txt
  • 逐行读取文件内容。
  • 然后使用 split() 函数在空格字符处截断行内容。空格前的字符作为键,空格后的字符作为字典的值。
  • for 循环用于迭代目的和到达文件末尾。

在 Python 中使用 strip() 函数和 split() 函数将文件读入字典

Python 中的 strip() 函数删除字符串开头和结尾的任何特别指定的字符或空格。该函数返回一个新字符串,而不是对原始字符串进行更改。

以下代码使用 strip() 函数和 split() 函数在 Python 中将文件读入字典。

with open("File1.txt") as f:
    a = dict(i.rstrip().split(None, 1) for i in f)
print(a)

上面的代码提供了以下输出:

{4: 'x', 5: 'y', 6: 'z'}

解释:

  • 首先创建一个空字典 a
  • open() 函数用于打开和读取给定的文件 File1.txt
  • 文件内容逐行读取。
  • 然后使用 split() 函数在空格字符处截断行内容。strip() 函数也用于删除提到的字符。
  • for 循环用于迭代目的和到达文件末尾。

在 Python 中使用字典理解将文件读入字典

字典理解是非常流行和使用的列表推导的语法扩展。

虽然字典理解在语法上类似于 Python 代码中的列表推导,但它有很大的不同,因为前者将输出作为字典生成,而后者则提供列表作为输出。

以下代码使用字典理解将文件读入 Python 中的字典。

with open("File1.txt") as f:
    a = {int(k): v for line in f for (k, v) in [line.strip().split(None, 1)]}
print(a)

上面的代码提供了以下输出:

{4: 'x', 5: 'y', 6: 'z'}

在 Python 中使用 pandas 库将文件读入字典

Pandas 是 Python 提供的用于数据分析和操作的库。Pandas 是一个开源、易于使用且灵活的库。

以下代码使用 pandas 库在 Python 中将文件读入字典。

import pandas as pd

a = pd.read_csv("File1.txt", delimiter=" ", header=None).to_dict()[0]
print(a)

上面的代码提供了以下输出:

{4: 'x', 5: 'y', 6: 'z'}
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

相关文章 - Python File

相关文章 - Python Dictionary