2024-09-28 21:58:00 发布
网友
在Python中,如果一个文件有10000行,其中所有行都具有以下结构:
1,2,xvfrt ert5a fsfs4 df f fdfd56,234
或者类似的方法,读取整个字符串,然后将第7列到第17列的所有字符(包括空格)存储在另一个字符串中,因此新字符串将是
“xvfrt ert5a”?在
非常感谢
这从技术上回答了直接的问题:
lst = [line[6:17] for line in open(fname)]
但有一个致命的缺陷。对于一次性代码来说,这是可以的,但是数据看起来像逗号分隔的值,第三个字段甚至可能是以空格分隔的数据块。最好这样做,这样如果前两列多出一个数字,它仍然可以工作:
如果这些空格分隔的块可能会变长,那么:
lst = [x[2].strip().split()[0:2] for x in [line.split(',') for line in open(fname)]]
别忘了一两句话来解释发生了什么事。或许:
# on each line, get the 3rd comma-delimited field and break out the # first two space-separated chunks of the licence key
当然,假设这些是许可证密钥。评论不必太抽象。在
another_list = [] for line in f: another_list.append(line[6:17])
或者作为生成器(内存友好型解决方案):
这从技术上回答了直接的问题:
但有一个致命的缺陷。对于一次性代码来说,这是可以的,但是数据看起来像逗号分隔的值,第三个字段甚至可能是以空格分隔的数据块。最好这样做,这样如果前两列多出一个数字,它仍然可以工作:
^{pr2}$如果这些空格分隔的块可能会变长,那么:
别忘了一两句话来解释发生了什么事。或许:
当然,假设这些是许可证密钥。评论不必太抽象。在
或者作为生成器(内存友好型解决方案):
^{pr2}$相关问题 更多 >
编程相关推荐