我有一个表格的文本文件:
data=
11 Open Water
12 Perennial Ice/Snow
21 Developed, Open Space
22 Developed, Low Intensity
23 Developed, Medium Intensity
112 Developed, High Intensity
113 Barren Land
0 No data
我想读取文件并将其保存为数组或数据帧(列名=Code,Name),并且能够以data['Code']或data['Name']的形式访问列。在
打印(数据)命令将生成:
^{pr2}$我的代码:
myfile = open("filename.txt",'r')
for line in myfile:
Code, Name = line.split(' ', 1)
data=Code + " " + Name
print(data)
但这是错误的,因为数据中的每一行都是一组字符串,而不是两个字符串。我应该如何以两个变量的形式打开这个文件?在
如果代码是唯一的,您可以构建一个字典,其中代码是键,字符串是值:
数据.txt
代码(Python2.7)
^{pr2}$上面的行将两个变量
Code
和Name
的内容合并到一个字符串变量中。在您可以声明一个空列表,并在遍历该文件时将其附加到该列表中。在
^{pr2}$然后得到的列表
mydata
将包含行,每行两列。(它是两个元素元组的列表)每行的第一列是
code
,第二列是name
。但是,在这个阶段,code
仍然是一个字符串。要将其转换为int(我假设您希望这样做),请替换与
^{4}$最后,要将数据读入数据帧,只需将
mydata
作为一旦进入数据框,就可以更改列名以适合您的用途。在
然后,您将能够通过列名访问各个列,例如}。在
mydata_df['Code']
或{看起来您正在处理一个固定宽度的文件,而且您似乎希望根据引用数据的语法使用pandas。开始吧。在
第一部分获取文本文件中的长度(行数),并创建一个包含两列(代码、名称)和文本文件长度的数据帧。在
第二部分遍历每一行,并将前4个字符分配给第一列“Code”,最后几个字符(新行字符除外)分配给第二列“Name”。在
相关问题 更多 >
编程相关推荐