之前读的数据一直都是正常的csv文件,今天读dat文件的时候,非常的不顺利,最后研究出了两种方法,特此记录:
方法一:pd.read_table()
该方法比较复杂,涉及太多循环,慎用
A=pd.read_table(r'E:\jupyter_test_data\地形高程(1).txt',header=None,engine='python')
B=[]
for array in np.array(A):
# 先删去前面的空格,再将空格取代,再按照逗号分隔字符串数据
# 这里的0,是将array里的字符串取出来
D=np.array(array[0].strip().replace(' ','').split(','))
D=D[0:-2] # 这个是我自己的数据需要 删除最后一个数
D=[float(d) for d in D] #转化为浮点数
B.append(D)
result=np.array(pd.DataFrame(B))
一个小技巧 list可以先变成df格式,再转化为np.array,有效避免在转化为数组的时候,外围变成array,里层还是一个list.
另外,一定要注意转化为float的时候,不能有空格,也不能有‘’,这种空的字符串
方法二:
import pandas as pd
f=open(r'E:\jupyter_test_data\地形高程(1).txt',encoding='utf-8')
sentimentlist=[]
for line in f:
s =line.strip().replace(' ','').split(',')
sentimentlist.append(s)
f.close()
df_train=pd.DataFrame(sentimentlist)