我有一个文本文件,其中包含:
1:PAPER TOWNS,TOMORROWLAND
2:ENTOURAGE,JUPITER ASCENDING我计划将它们读入一个输出如下的列表中:
[[1,'PAPERTOWNS','TOMORROWLAND'],[2,'ENTOURAGE','JUPITERASCENDING']]我写过:
def read_file():
fileName = "testing.txt"
testFile = open(fileName)
table = []
for line in testFile:
contents = line.strip().split(':')
contents[0] = int(contents[0])
contents[1] = contents[1].replace(' ','')
table.append(contents)
print(table)我几乎成功地得到了我想要的输出,但我想不出一种方法来将字符串与:
[[1,'PAPERTOWNS,TOMORROWLAND'],[2,'ENTOURAGE,JUPITERASCENDING']]至
[[1,'PAPERTOWNS','TOMORROWLAND'],[2,'ENTOURAGE','JUPITERASCENDING']]发布于 2018-03-15 11:28:15
您可以用逗号分隔第二个元素。
演示
def read_file():
fileName = "testing.txt"
testFile = open(fileName)
table = []
for line in testFile:
contents = line.strip().split(':')
table.append([int(contents[0])] + contents[1].split(","))
print(table)输出:
[[1, 'PAPER TOWNS', 'TOMORROWLAND'], [2, 'ENTOURAGE', 'JUPITER ASCENDING']]使用正则表达式的:
import re
def read_file():
fileName = "testing.txt"
testFile = open(fileName)
table = []
for line in testFile:
contents = re.split("[,:]+", line.strip())
table.append(contents)
print(table)输出:
[['1', 'PAPER TOWNS', 'TOMORROWLAND'], ['2', 'ENTOURAGE', 'JUPITER ASCENDING']]发布于 2018-03-15 11:33:45
这是关于熊猫的一行代码。您的文件类似于CSV文件,只是分隔符可以是冒号或逗号,因此我们使用正则表达式:
import pandas as pd
df = pd.read_csv('file.txt', header=None, sep=r'[:,]')发布于 2018-03-15 12:38:39
您可以按多个分隔符拆分字符串:
import re
print([[int(re.split(':|,', line.strip())[0])]+re.split(':|,', line.strip())[1:] for line in open('text_file','r')])输出:
[[1, 'PAPER TOWNS', 'TOMORROWLAND'], [2, 'ENTOURAGE', 'JUPITER ASCENDING']]https://stackoverflow.com/questions/49291083
复制相似问题