【问题标题】:How to get a list in below format? [closed]如何获得以下格式的列表? [关闭]
【发布时间】:2019-05-13 07:32:42
【问题描述】:

我在一个文本文件中有以下数据。

22882367 /pgc-orc-hive-output 
13454914 /pqs 
2254110952 /processed-nrt-export 
..etc

需要输出如下数组列表格式

#[[22882367,'/' ,'pgc-orc-hive-output'],[13454914,'/','pqs'],[2254110952,'/','processed-nrt-export']]

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 是否需要从txt读取。文件?文件中的数据是如何组织的?点击分隔?
  • Stack Overflow 不是编码服务。您不能粘贴您的问题,让其他用户为您解决问题。请阅读How to ask帮助页面,了解如何写出好问题。
  • @Antwane:虽然理论上你说的是真的,但实际上它一直在这里发生......

标签: python list


【解决方案1】:

我希望这是您所期望的。

import re
fname= 'abcd.txt'

lists = []
with open(fname) as f:
    content = f.readlines()

for i in content:
    lists.append(re.split('(/)',i.strip()))


print lists

【讨论】:

  • 按预期获得输出,谢谢
【解决方案2】:

如下使用stripsplit 来获得所需的分隔值。

file = open('file.txt')
my_arr = []
for line in file:
    fields = line.strip().split()
    my_arr.append([fields[0], "/", fields[1][1:]])

print(my_arr)

输出:

[['22882367', '/', 'pgc-orc-hive-output'], ['13454914', '/', 'pqs'], ['2254110952', '/', 'processed-nrt-export']]

【讨论】:

  • 使用.split(" /")my_arr.append([fields[0], "/", fields[1]]) 可能更具可读性?
  • 工作谢谢,我不知道如何追加。我试过下面的代码。 with open('/tmp/hdfs_dir','r') as tsv: line = [elem.strip().split('\t') for elem in tsv]
  • 不客气 ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-29
相关资源
最近更新 更多