Python:导入文件并转换为列表
我需要帮助,想把一个文件导入进来,并把每一行转换成一个列表。
这个文件的例子可能是这样的:
p wfgh 1111 11111 111111
287 48 0
65626 -1818 0
4654 21512 02020 0
第一行以字母p开头的是标题,后面的每一行都是条款。
每个条款的行必须以至少两个整数开头,并以零结尾。
提前谢谢你们!
8 个回答
2
这段代码是一个示例,展示了如何在编程中使用某些功能。它可能涉及到一些基本的操作,比如变量的定义、循环的使用或者条件判断等。通过这些代码,程序员可以实现特定的任务或功能。
如果你是编程新手,可以把这段代码想象成一个食谱,里面列出了做某道菜所需要的材料和步骤。每一行代码就像是一个步骤,告诉计算机该做什么。
在学习编程时,理解这些代码的逻辑和结构是非常重要的。你可以尝试逐行分析,看看每一部分是如何工作的,这样会帮助你更好地掌握编程的基本概念。
记住,编程就像学习一种新的语言,刚开始可能会觉得有点难,但多练习就会慢慢变得容易。
p = open('filename')
#List:
linelist = [line for line in p.readlines()]
"""
But I prefer creating a dictionary as I find them more useful at times. Example here is very trivial. You can use the list index as a line number also.
"""
#Dictionary:
linedict = dict([(no, line) for no, line in enumerate(p.readlines())])
4
with open('"input.txt"') as f:
lines = f.read().splitlines()
这段代码会给你一个值的列表(字符串),而且会去掉里面的换行符。
9
下面这一行代码会创建一个列表,列表里的每一项都是一个小列表。里面的小列表是把一行文字拆分成“单词”。
li = [i.strip().split() for i in open("input.txt").readlines()]
我把你发的代码片段放进了c:\temp文件夹里的input.txt文件里,然后运行了这一行。输出的结果和你想要的相似吗?
C:\temp>python
Python 3.1.1 (r311:74483, Aug 17 2009, 17:02:12) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print([i.strip().split() for i in open("input.txt").readlines()])
[['p', 'wfgh', '1111', '11111', '111111'], ['287', '48', '0'], ['65626', '-1818', '0'], ['4654', '21512', '02020', '0']]