我面临一个问题,在转换一个.dat扩展名文件到csv文件使用Pandas。我已经在google colab中编写了以下基本代码:
from google.colab import files
uploaded = files.upload()
KY1801.32m.dat(n/a) - 335449 bytes, last modified: 4/27/2021 - 100% done
Saving KY1801.32m.dat to KY1801.32m (2).dat
dat_file = "KY1801.32m.dat"
with open(dat_file,'r') as file:
text = file.read()
print(text)
import pandas as pd
import numpy as np
with open(dat_file,'r') as file:
df = pd.DataFrame(file)
print(df.head())
df["sno","year","month","day","hours","minutes","sec","x","y","z","w"]= df[0].str.split(" " , expand
= True)
df
我的问题仍然是,在使用代码的最后一行之后,出现了如下错误:
2条答案
按热度按时间zd287kbt1#
-----keyerror traceback(最近一次调用last)/usr/local/lib/python3.7/dist-packages/pandas/core/generic.py in\u set\u item(self,key,value)3575 try:->3576
loc=自身信息轴。获取loc(键)3577,键错误除外:
8帧键错误:('sno'、'year'、'month'、'day'、'hours'、'minutes'、'sec'、'x'、'y'、'z'、'w')
在处理上述异常时,发生了另一个异常:
valueerror回溯(最近一次调用)
/usr/local/lib/python3.7/dist-packages/pandas/core/internals/blocks.py in init(self,values,placement,ndim)129 if self.\u validate\u ndim and self.ndim and len(self.mgr\u locs)!=len(self.values):130 raise valueerror(->131 f“传递的项数错误{len(self.values)}”,132 f“placement暗示{len(self.mgr\u locs)}”133)
valueerror:传递的项数错误12,放置意味着1
我要做的是将dat文件中的单个列0拆分为12个组成列,即:sno、year、month、day、hours、minutes、seconds、x、y、z、w列,并基于“”分隔。我该怎么做?我的代码需要做哪些更改?
我的.dat文件可以在以下位置找到:https://drive.google.com/file/d/1sxeb0dj2pduyu31rllybpg4858re8m-j/view?usp=sharing
kkih6yb82#
.dat在这里造成了混乱,在本例中,它是一个以空格分隔的文件。所以只要把分隔符