我目前正在研究一个在'|'上分割平面文件的程序,符号并将每个实体分隔成代码中定义的新对象。它看起来像这样:需要多个值才能解压
results = 0
searchphrase = input("Search: ")
with open('file.dat', 'r', encoding='utf8') as info_1:
for line in info_1:
a, b, c, d, e, f, g, h, i, j, k, l, m = line.split('|')
if searchphrase in a:
results +=1
print(results, a + '|' + b + '|' + c etc.)
编辑1
这是不工作,给我的错误消息need more than 1 value to unpack
,解析为a, b, c, d, e, f, g, h, i, j, k, l, m = line.split('|')
行程序的版本。
从我呼吁该文件的数据的格式如下:
a|b|c|d|e|f|g|h|i|j|k|l|m
是否有一个原因,它会解释,作为一个单一的线和各实体不会蔓延到自己的对象吗?该程序运行正常,当我这样做是这样的:
results = 0
searchphrase = input("Search: ")
with open('file.ext', 'r', encoding='utf8') as info_1:
for line in info_1:
a = line.split('|')
if searchphrase in a:
results +=1
print(results, a)
但我希望人们能够根据文件中的特定列搜索信息(即搜索关于x,y的搜索d等。 )。我会怎么做呢?
旁白:有一个专门设计了这样的任务,以帮助您有一个标准库模块:HTTP://文档.python.org/3.1/library/csv.html – bernie 2013-02-25 19:00:49
另外:不可能像'a,b,c,d,e,f,g,h,i,j,k,l,m = something是你做任何事情的最佳方式。不是不可能的,但不太可能。使用字典或通过将列索引到列表或元组或这些的组合中,您会更好。 – DSM 2013-02-25 21:30:04