我的sample.txt文件中包含以下数据:
A2B3,32:45:63
A4N6,17:72:35
S2R3,13:14:99
我想要做的是将这些数据放入一个数组,但是用逗号分隔它们时遇到了问题。
我的代码如下:
with open('sample.txt', 'r') as f:
for line in f:
x = f.read().splitlines()
print(x)
输出如下:
['A2B3,32:45:63','A4N6,17:72:35','S2R3,13:14:99']
我以不同的方式更改了代码,以逗号分隔这两个变量,但我似乎无法使其正常工作。有人可以帮我实现此输出吗?
['A2B3','32:45:63','A4N6','17:72:35','S2R3','13:14:99']
答案 0 :(得分:1)
使用line.split(',')
分隔“,”处的行。
x = []
with open('sample.txt', 'r') as f:
for line in f:
for j in line.split(','):
x.append(j.split('\n')[0])
print(x)
答案 1 :(得分:0)
您可能可以做:
data = list()
with open('sample.txt', 'r') as f:
for line in f.readlines():
data.append(line)
您应该以附加行列表结尾。在大文件上,它也比.splitlines()更快,因为.readlines()是用C实现的,不会将整个文件加载到内存中。
答案 2 :(得分:0)
使用此代码,它会将行像您一样分成一个列表,然后在逗号处将这些项目分开。
filename = "sample.txt"
with open(filename) as file:
lines = file.read().split("\n")
output = []
for l in lines:
for j in l.split(","):
output.append(j)
print(output)
输出:
['A2B3', '32:45:63', 'A4N6', '17:72:35', 'S2R3', '13:14:99']
答案 3 :(得分:0)
是的,这很简单...
将所有行分开后,您将看到列表
['A2B3,32:45:63','A4N6,17:72:35','S2R3,13:14:99']
然后再次用逗号(,)分隔每个元素,并将其添加到新列表中,例如
list_a = ['A2B3,32:45:63','A4N6,17:72:35','S2R3,13:14:99']
final_list = []
for i in list_a:
part_1, part_2 = i.split(',')
final_list.append(part_1)
final_list.append(part_2)
print(final_list)
它将为您提供所需的输出,
['A2B3','32:45:63','A4N6','17:72:35','S2R3','13:14:99']
这不是多余的方法,但是对您来说很容易理解
谢谢:)
答案 4 :(得分:0)
您在这里,只需要重复遍历一次:
res = []
with open('sample.txt', 'r') as f:
for line in f:
res += line.strip().split(",")
print(res)
礼物:
['A2B3', '32:45:63', 'A4N6', '17:72:35', 'S2R3', '13:14:99']
尽管我想知道为什么要在列表中包含所有内容,但我认为您缺少项目之间的链接,也许将它们保留在这样的元组中可能更有用:
res = []
with open('sample.txt', 'r') as f:
for line in f:
res.append(tuple(line.strip().split(",")))
print(res)
礼物:
[('A2B3', '32:45:63'), ('A4N6', '17:72:35'), ('S2R3', '13:14:99')]
答案 5 :(得分:0)
FMPOV这个结果更好。但没关系,我想,您会从这里提出的解决方案之一中找到解决方案。
x = [i.replace("\n","").split(',')for i in open('data.txt', 'r')]
print(x)
print(x[0][1])