Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中脚本遍历数据时遇到int错误,如何解决?_Python_Excel_Pandas_Dataframe_Csv - Fatal编程技术网

python中脚本遍历数据时遇到int错误,如何解决?

python中脚本遍历数据时遇到int错误,如何解决?,python,excel,pandas,dataframe,csv,Python,Excel,Pandas,Dataframe,Csv,我对以下代码有问题: for root, dirs, files in os.walk('path2v1'): for file in files: if file.endswith('train.csv'): combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames]) combined_csv.to_csv("combined_csv.c

我对以下代码有问题:


for root, dirs, files in os.walk('path2v1'):
    for file in files:
        if file.endswith('train.csv'):
            combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames])
            
combined_csv.to_csv("combined_csv.csv",index=False, encoding='utf-8-sig')


它正在返回错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-14-b0f594f68181> in <module>
      8             combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames])
      9 
---> 10 combined_csv.to_csv("combined_csv.csv",index=False, encoding='utf-8-sig')
     11 

AttributeError: 'int' object has no attribute 'to_csv'
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在里面
8 combined_csv=pd.concat([pd.read_csv(f)表示所有文件名中的f])
9
--->10组合式csv到组合式csv(“组合式csv,索引=False,编码=utf-8-sig”)
11
AttributeError:“int”对象没有“to_csv”属性

昨天它对我来说很好,但由于某种原因,今天我意识到了这些错误。你知道为什么会发生这种情况吗?

我在这里做一些假设,但我想你应该这样做:

combined_csv = pd.concat([pd.read_csv(file) 
   for _,_,files in os.walk('path2v1') 
   for file in files if file.endswith('train.csv')])
combined_csv.to_csv("combined_csv.csv",index=False, encoding='utf-8-sig')

根据@acushner的评论,创建了一个数据帧列表,然后连接起来生成数据帧。

我在这里做了一些假设,但我认为您希望这样做:

combined_csv = pd.concat([pd.read_csv(file) 
   for _,_,files in os.walk('path2v1') 
   for file in files if file.endswith('train.csv')])
combined_csv.to_csv("combined_csv.csv",index=False, encoding='utf-8-sig')

根据@acushner的评论,将创建一个数据帧列表,然后连接成数据帧。

在执行
combined_csv.to_csv(“combined_csv.csv”,index=False,encoding='utf-8-sig')之前,请尝试打印combined_csv的值
该错误表示
组合的\u csv
不是数据帧。此外,您可能希望将
combined_csv
制作成一个empy数据帧,然后在循环中附加到它,因为每次文件以train结尾时,您都将它重新定义为一个新的数据帧。csv@EMiller你绝对不想这样做。每次附加到数据帧都会重新分配整个数据帧。他们应该做的是在end@acushner,很好。我的评论主要是为了传达OP在后续迭代中通过在数据帧上写入来擦除数据。在执行
combined_csv.to_csv(“combined_csv.csv”,index=False,encoding='utf-8-sig')之前,请尝试打印combined_csv的值
该错误表示
组合的\u csv
不是数据帧。此外,您可能希望将
combined_csv
制作成一个empy数据帧,然后在循环中附加到它,因为每次文件以train结尾时,您都将它重新定义为一个新的数据帧。csv@EMiller你绝对不想这样做。每次附加到数据帧都会重新分配整个数据帧。他们应该做的是在end@acushner,很好。我的评论主要是为了传达OP在后续迭代中通过在数据帧上写入来擦除数据。感谢您花时间提供帮助。我从这段代码中得到了以下错误:1个组合的_csv=pd.concat([pd.read_csv(file)-->2个用于,os.walk('path2v1')中的文件3个用于文件中的文件如果file.endswith('.csv')])4个组合的_csv.to_csv(“组合的_csv.csv”,index=False,encoding='utf-8-sig'))/concat中的opt/anaconda3/envs/PST_env/lib/python3.7/site-packages/pandas/core/reforme/concat.py(对象、轴、连接、忽略索引、键、级别、名称、验证完整性、排序、复制)279验证完整性=验证完整性,280复制=复制,-->281排序=排序,282)283~/opt/anaconda3/envs/PST_env/lib/python3.7/site-packages/pandas/core/reformate/concat.py in uuuuu init_uuuuuuuuu(self、objs、axis、join、keys、levels、names、ignore_index、verify_uintegrity、copy、sort)327328如果len(objs)==0:->->329 raise ValueError(“没有要连接的对象”)330 331如果键为None:ValueError:No objects to concatenate很可能,因为找不到任何文件,所以没有要连接的对象。请尝试以下操作:```files=[file for、、files in os.walk('path2v1')for file in files if file.endswith('train.csv')]``文件列表中是否有条目?感谢您花时间提供帮助。我从这段代码中得到了以下错误:1个组合的_csv=pd.concat([pd.read_csv(file)-->2个用于,os.walk('path2v1')中的文件3个用于文件中的文件如果file.endswith('.csv')])4个组合的_csv.to_csv(“组合的_csv.csv”,index=False,encoding='utf-8-sig'))/concat中的opt/anaconda3/envs/PST_env/lib/python3.7/site-packages/pandas/core/reforme/concat.py(对象、轴、连接、忽略索引、键、级别、名称、验证完整性、排序、复制)279验证完整性=验证完整性,280复制=复制,-->281排序=排序,282)283~/opt/anaconda3/envs/PST_env/lib/python3.7/site-packages/pandas/core/reformate/concat.py in uuuuu init_uuuuuuuuu(self、objs、axis、join、keys、levels、names、ignore_index、verify_uintegrity、copy、sort)327328如果len(objs)==0:->->329 raise ValueError(“没有要连接的对象”)330 331如果键为None:ValueError:No objects to concatenate很可能,因为找不到任何文件,所以没有要连接的对象。请尝试以下操作:```files=[file for、、files in os.walk('path2v1')for file in files if file.endswith('train.csv')]``在
文件列表中是否有条目?