python - 读取文本文件中的行并将其转换为字符串列表

标签 python python-3.x

我有一个包含 2 行文本的文本文件 data.txt

first_row_1    first_row_2    first_row_3
second_row_1    second_row_2    second_row_3

我想读取文本文件的第二行并将内容转换为 python 中的字符串列表。该列表应如下所示;

txt_list_str=['second_row_1','second_row_2','second_row_3']

这是我尝试的代码;

import csv
with open('data.txt', newline='') as f:
    reader = csv.reader(f)
    row1 = next(reader)
    row2 = next(reader)

my_list = row2.split("  ")

我收到错误 AttributeError: 'list' object has no attribute 'split'

我正在使用 python v3。

编辑:感谢您的所有回答。我相信它们都有效。但是有人能告诉我我自己尝试的代码有什么问题吗?谢谢。

最佳答案

您的代码不起作用的原因是您试图在列表上使用 split,但它本来是要在字符串上使用的。因此,在您的示例中,您将使用 row2[0] 访问列表的第一个元素。

my_list = row2[0].split("    ")

或者,如果您可以访问 numpy 库,您可以使用 loadtxt .

import numpy as np

f = np.loadtxt("data.txt", dtype=str, skiprows=1)

print (f)
# ['second_row_1' 'second_row_2' 'second_row_3']

这样做的结果是一个数组而不是一个列表。如果你需要一个列表,你可以简单地将数组转换为一个列表

print (list(f))
#['second_row_1', 'second_row_2', 'second_row_3']

关于python - 读取文本文件中的行并将其转换为字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47157240/

相关文章:

shell - 使用 Python 的自定义(交互式)shell

python - `in` 比 `__contains__` 有多少优化?

python - 识别非连续零的索引值

python - 方程组求解器 pandas

javascript - 如何将以下代码(例如\u00e8,\u00e9)以字符串格式解码并输出到Python中的符号

多个线程共享的 Python 内存数组(想想进程空间中的 memcached)

python - 使用队列导致异步异常 "got Future <Future pending> attached to a different loop"

python - 尝试将 Discord 警报/ Hook 添加到现有的 python 代码中

python - 150x150 图像上的基本 softmax 模型实现

python - 使用 on_change 更改选择字段的值