【发布时间】:2018-04-28 15:53:47
【问题描述】:
我正在尝试运行此代码,但每次都给我同样的错误。
def concatenate(indir="E:\\HOME\\NBAStats\\PlayByPlay",outfile="E:\\HOME\\NBAStats\\PlayByPlay\\Concatenated.csv",sep='\t'):
os.chdir(indir)
filelist=glob.glob("*.csv")
dflist=[]
colnames=['game_id', 'data_set', 'date', 'a1', 'a2', 'a3', 'a4', 'a5', 'h1', 'h2', 'h3', 'h4', 'h5', 'period', 'away_score', 'home_score', 'remaining_time', 'elapsed', 'play_length', 'play_id', 'team', 'event_type', 'assist', 'away', 'home', 'block', 'entered', 'left', 'num', 'opponent', 'outof', 'player', 'points', 'possession', 'reason', 'result', 'steal', 'type', 'shot_distance', 'original_x', 'original_y', 'converted_x', 'converted_y', 'description']
for filename in filelist:
print(filename)
df=pandas.read_table(filename, header=None)
dflist.append(df)
concatdf=pandas.concat(dflist,axis=0)
print(type(concatdf))
concatdf.columns=colnames
concatdf.head()
concatdf.to_csv(outfile,index=False)
错误是:
ValueError:长度不匹配:预期轴有 1 个元素,新值 有44个元素
【问题讨论】:
-
您是否以预期的格式导入了表格? (44 列?)
-
我认为某些文件中没有制表符分隔符,这是
read_table中的默认值 -
所以只需要设置它 - 例如如果逗号
df=pandas.read_table(filename, header=None, sep=',') -
已经尝试使用 sep=','。结果相同
-
@FabianYing 你是什么意思?我已经使用 read_table 导入,但我也尝试使用 csv
标签: python python-3.x pandas