Python 我在将csv文件写入MongoDB时遇到问题

Python 我在将csv文件写入MongoDB时遇到问题,python,filepath,Python,Filepath,我正在尝试将文件夹中的所有csv文件写入MongoDB集合。但当文件存在于目录中时,我不断得到错误,因为找不到文件 output_files=[如果file.endswith(“.csv”)为os.listdir(dir_路径)中的文件的文件] 打印(“文件夹中的文件:”,输出文件) #创建mongoclient对象 client=MongoClient() #获取数据库并列出集合 db=client.senci 集合\名称\列表=db.list\集合\名称() 打印(“MongoDB集合:”,

我正在尝试将文件夹中的所有csv文件写入MongoDB集合。但当文件存在于目录中时,我不断得到错误,因为找不到文件

output_files=[如果file.endswith(“.csv”)为os.listdir(dir_路径)中的文件的文件]
打印(“文件夹中的文件:”,输出文件)
#创建mongoclient对象
client=MongoClient()
#获取数据库并列出集合
db=client.senci
集合\名称\列表=db.list\集合\名称()
打印(“MongoDB集合:”,集合\名称\列表)
对于输出_文件中的文件:
collection=“senci_”+文件[:-4]
如果集合\u名称\u列表中的集合:
#打印(“文件存在。此集合中的文档将被删除。”)
col=db[collection]。删除许多({})
打印(列删除计数,“从中删除的文档”,集合)
#写入新数据
df=pd.read_csv(文件,engine='python',分隔符=',')
记录(方向=记录)
db[collection]。插入\u多个(记录\u)
打印(“集合已更新。\n”)
下面是我得到的错误。前3行用于确保csv存在

Files in the folder: ['groceries.csv']
MongoDB collections: ['senci_adult_diapers', 'senci_health_supplements', 'senci_groceries', 'senci_mobility_aids']
0  documents deleted from senci_groceries
Traceback (most recent call last):
  File "tt.py", line 27, in <module>
    df = pd.read_csv(file, engine='python', delimiter=',')
  File "C:\Users\USER\Anaconda3\envs\goki\lib\site-packages\pandas\io\parsers.py", line 702, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "C:\Users\USER\Anaconda3\envs\goki\lib\site-packages\pandas\io\parsers.py", line 429, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "C:\Users\USER\Anaconda3\envs\goki\lib\site-packages\pandas\io\parsers.py", line 895, in __init__
    self._make_engine(self.engine)
  File "C:\Users\USER\Anaconda3\envs\goki\lib\site-packages\pandas\io\parsers.py", line 1132, in _make_engine
    self._engine = klass(self.f, **self.options)
  File "C:\Users\USER\Anaconda3\envs\goki\lib\site-packages\pandas\io\parsers.py", line 2225, in __init__
    memory_map=self.memory_map)
  File "C:\Users\USER\Anaconda3\envs\goki\lib\site-packages\pandas\io\common.py", line 427, in _get_handle
    f = open(path_or_buf, mode, errors='replace', newline="")
FileNotFoundError: [Errno 2] No such file or directory: 'groceries.csv'
文件夹:['groceries.csv'中的
文件
MongoDB系列:[“senci_成人尿布”、“senci_健康补充剂”、“senci_杂货”、“senci_流动性_艾滋病”]
已从senci_杂货店删除0个文档
回溯(最近一次呼叫最后一次):
文件“tt.py”,第27行,在
df=pd.read_csv(文件,engine='python',分隔符=',')
文件“C:\Users\USER\Anaconda3\envs\goki\lib\site packages\pandas\io\parsers.py”,第702行,在解析器中
返回读取(文件路径或缓冲区,kwds)
文件“C:\Users\USER\Anaconda3\envs\goki\lib\site packages\pandas\io\parsers.py”,第429行,已读
parser=TextFileReader(文件路径或缓冲区,**kwds)
文件“C:\Users\USER\Anaconda3\envs\goki\lib\site packages\pandas\io\parsers.py”,第895行,在\uuu init中__
自制发动机(自制发动机)
文件“C:\Users\USER\Anaconda3\envs\goki\lib\site packages\pandas\io\parsers.py”,第1132行,位于制作引擎中
self.\u引擎=klass(self.f,**self.options)
文件“C:\Users\USER\Anaconda3\envs\goki\lib\site packages\pandas\io\parsers.py”,第2225行,在\uuu init中__
内存映射=自。内存映射)
文件“C:\Users\USER\Anaconda3\envs\goki\lib\site packages\pandas\io\common.py”,第427行,位于获取句柄中
f=打开(路径或模式,错误='replace',换行=“”)
FileNotFoundError:[Errno 2]没有这样的文件或目录:“groceries.csv”
如果要传递文件名,则需要传递完整路径。该函数可用于组合目录路径和文件名

import os.path

# Gets *names*
output_files = [file for file in os.listdir(dir_path) if file.endswith(".csv")]

...    

for file in output_files:

    # Get full path
    path = os.path.join(dirpath, file)

    # write new data
    df = pd.read_csv(path, engine='python', delimiter=',')