使用pandas将.dat文件转换为csv格式时出现问题,需要将一列拆分为多列

gkn4icbw  于 2021-07-13  发布在  Java
关注(0)|答案(2)|浏览(396)

我面临一个问题,在转换一个.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

我的问题仍然是,在使用代码的最后一行之后,出现了如下错误:

zd287kbt

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

kkih6yb8

kkih6yb82#

.dat在这里造成了混乱,在本例中,它是一个以空格分隔的文件。所以只要把分隔符

import pandas as pd
df=pd.read_csv("KY1801.32m.dat",sep= " ")

相关问题