【发布时间】:2018-01-07 16:03:37
【问题描述】:
我正在尝试将我的数据重新组织为特定格式,但发现卡在错误消息中。
我正在查看一个 16 列的 csv 文件,我想将第 1-5 列合并为一列,同时在其旁边附加第 10 列,同时丢弃其余列。
我有大约 30 个这样的 csv 文件,并希望将它们全部处理成一个综合列表。文件名是迭代的,但它们可以由中间的数字定义。 Ptrain0dataset, Ptrain50dataset, Ptrain100dataset ...
这是我正在处理的代码:
clist=[]
for i in range(0,17):
a=i*50
with open('Ptrain' + str(a) + 'dataset,csv', 'r') as f:
temp=f.readlines()
temp2=[]
for i in temp:
j=i.replace('""', '')
temp2.append(j.split(','))
for j in temp2:
clist[str(a), j[0:5], j[9]]
f.close()
堆栈跟踪:
File "<ipython-input-23-e7da8e2724f8>", line 1, in <module>
runfile('pfiles')
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile
execfile(filename, namespace)
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "pfiles/aa.py", line 35, in <module>
clist[str(a), j[0:5], j[9]]
我似乎无法弄清楚这里的错误。
【问题讨论】:
-
请分享您的堆栈跟踪的最后几行相关行
-
你希望
clist[str(a), j[0:5], j[9]]做什么? -
@user2357112 我想追踪每列的来源(在 30 多个 csv. 文件中)。由于文件是用分配的编号标识的(50 个间隔)