将Names文件转换为List / Array

问题描述 投票:-1回答:3

这是一个非常基本的问题,但在Visual Studio中我想将一堆名称转换为字符串数组。我如何快速为100多个名字做到这一点?

我的py文件目前:

Owen
Dylan
Luke
Gabriel
Anthony
Isaac
Grayson
Jack
Julian
Levi

我希望它看起来像:

["Owen",
"Dylan",
"Luke",
"Gabriel",
"Anthony",
"Isaac",
"Grayson",
"Jack",
"Julian",
"Levi",
]
python arrays visual-studio list arraylist
3个回答
0
投票

您可以轻松打开文件并阅读其所有行:

with open('names_file.txt', 'r') as fp:
    names = fp.readlines()

print(names)

read mode中打开文本文件并读取所有行,每行将是names列表中的项目。


0
投票

只需打开文件并将其分配给数组变量即可

with open('names_file.txt', 'r') as fp:
names = fp.read().splitlines()  #splitlines removes /n from each array element
print(names)

r模式下打开文件,并将字符串中的每一行分配给变量name


0
投票

如果将名称列表转换为与您提供的示例中相同的文件中的Python列表,则可以尝试以下操作:

names = []

with open('names.py', 'r') as inFile:
    names = [name for name in inFile]

with open('names.py', 'w') as outFile:
    outFile.write('[')
    for name in names:
        finalName = "\"" + name + "\""
        outFile.write(finalName.replace('\n','') + ',\n')
    outFile.write(']')

输出:

["Owen",
"Dylan",
"Luke",
"Gabriel",
"Anthony",
"Isaac",
"Grayson",
"Jack",
"Julian",
"Levi",
]

请注意,由于最后一个逗号,上面的内容不是有效的Python列表。如果要创建有效列表,可以使用以下命令:

names = []

with open('names.py', 'r') as inFile:
    names = [name for name in inFile]

with open('names.py', 'w') as outFile:
    newNames = ["".join(["\"",name,"\""]).replace("\n","") for name in names]
    outFile.write('[')
    outFile.write(",\n".join(newNames))
    outFile.write(']')

输出:

["Owen",
"Dylan",
"Luke",
"Gabriel",
"Anthony",
"Isaac",
"Grayson",
"Jack",
"Julian",
"Levi"]
© www.soinside.com 2019 - 2024. All rights reserved.