我有一个包含 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/