Python 以两个单独的数组从文件中读取数据

Python 以两个单独的数组从文件中读取数据,python,arrays,numpy,file,Python,Arrays,Numpy,File,我是python新手,正在尝试从文件加载数据。 我的文件如下所示: TION 13168375 NTHE 11234972 THER 10218035 THAT 8980536 OFTH 8132597 FTHE 8100836 THES 7717675 WITH 7627991 import pandas as pd df = pd.read_csv("Equadgrams.txt",sep=" ") 我想将这两列提取到单独的数组中。 到目前为止,我

我是python新手,正在尝试从文件加载数据。 我的文件如下所示:

TION 13168375
NTHE 11234972
THER 10218035
THAT 8980536
OFTH 8132597
FTHE 8100836
THES 7717675
WITH 7627991
import pandas as pd
df = pd.read_csv("Equadgrams.txt",sep=" ")
我想将这两列提取到单独的数组中。 到目前为止,我尝试的是:

import numpy as np
s=open("Equadgrams.txt", "r")
data = np.genfromtxt(s, dtype=[('mystring','S4'),('myint','i8')])
在loadtxt命令的文档中,看起来我可以将结果拆分为单独的数组,但这给了我错误

x,y = np.loadtxt(s, dtype=[('mystring','S4'),('myint','i8')])

Traceback (most recent call last):
File "<input>", line 3, in <module>
ValueError: too many values to unpack (expected 2)
x,y=np.loadtxt(s,dtype=[('mystring','S4'),('myint','i8'))
回溯(最近一次呼叫最后一次):
文件“”,第3行,在
ValueError:要解压缩的值太多(应为2个)
我还注意到一件事: 数据数组中的整数似乎没有问题,但字符串没有按预期读取。 我得到了第一个条目:b'TION'类型的类


我希望有人能帮我解决这个问题。

也许你应该使用
pandas
,它是一个众所周知的
python
库,可以处理像你现在这样的表格数据。 因此,首先使用
pip
安装
pandas
,如下所示:

pip install pandas
然后按如下方式加载文件:

TION 13168375
NTHE 11234972
THER 10218035
THAT 8980536
OFTH 8132597
FTHE 8100836
THES 7717675
WITH 7627991
import pandas as pd
df = pd.read_csv("Equadgrams.txt",sep=" ")

如果需要两个不同的阵列,可以使用以下方法:


s=打开(“filename.txt”、“r”)
lines=s.readlines()
strings=[line.split[''][0]表示行中的行]
ints=[line.split[''][1]表示行中的行]
s、 关闭()

我希望这是你想要的正确形式。否则,您必须在以后对其进行转换。

您可以迭代文件中的每一行,并使用.split方法将值附加到x和y:

x = []
y = []
file = open("file.txt","r")
for line in file:
    x.append(line.split(" ")[0])
    y.append(line.split(" ")[1])

genfromtxt
中,使用
U4'而不是'S4'(默认unicode与bytestring)
data['mystring']`和
data['myint']
应该为您提供所需的数组。
loadtxt
应该提供一个1d、2字段数组,就像
genfromtxt
一样。显然,在第一个大维度上,您不能
将其解包成两个变量
loadtxt
有一个“unpack”参数,但我不确定它是否能与结构化数据类型一起工作(它只是“转置”输出)。