Python 逐行将文本文件读入多个列表
如果我们有如下文本文件:Python 逐行将文本文件读入多个列表,python,string,text,readline,Python,String,Text,Readline,如果我们有如下文本文件: 6 & ロク3 & サン 9 & キュウ 0 & ゼロ5 & ゴ 7 & ナナみぎ & ミギひだり & ヒダリ うえ & ウエ 如何将其读入python,以如下方式获得每个“列”的列表: a = ["6", "9", "0", "7", "うえ"] b = ["ロク3" , "キュウ", "ゼロ5", "ナナみぎ", "ウエ"] c
6 & ロク3 & サン
9 & キュウ
0 & ゼロ5 & ゴ
7 & ナナみぎ & ミギひだり & ヒダリ
うえ & ウエ
如何将其读入python,以如下方式获得每个“列”的列表:
a = ["6", "9", "0", "7", "うえ"]
b = ["ロク3" , "キュウ", "ゼロ5", "ナナみぎ", "ウエ"]
c = ["サン", "", "ゴ}", "ミギひだり", ""]
d = ["", "ヒダリ", "", "", ""]
试试这个:
with open(path, 'r') as inputFile:
lines = list()
for line in inputFile:
lines.append(line.split("&"))
maxLen = len(max(lines, key=lambda x: len(x)))
for line in lines:
while len(line) < maxLen:
line.append(" ")
column0 = [line[0] for line in lines]
column1 = [line[1] for line in lines]
.
.
.
要使用它,只需更换
lines.append(line.split("&"))
与
这项任务将非常方便
import itertools
def cleanup(alist):
return [item.strip() for item in alist]
with open('input.txt', 'r') as input_file:
lines = input_file.readlines()
contents = [cleanup(line.split('&')) for line in lines]
zipped = itertools.izip_longest(*contents, fillvalue='')
for column in zipped:
print column
请注意,
zip
实际上是所有列的迭代器 拆分并附加到单独的列表,然后打印这些列表。
lines.append(line.replace(" ", "").split("&"))
import itertools
def cleanup(alist):
return [item.strip() for item in alist]
with open('input.txt', 'r') as input_file:
lines = input_file.readlines()
contents = [cleanup(line.split('&')) for line in lines]
zipped = itertools.izip_longest(*contents, fillvalue='')
for column in zipped:
print column