我一直在编写脚本来过滤掉Windows共享服务器中放置的CSV文件中的数据。问题在于它指出尽管存在该文件也找不到该文件。
我正在Linux(Ubuntu)上运行此驱动器,并且已将驱动器映射到使用samba的系统中。 samba中的完整文件路径为:
smb://serverip/csv%20files/rlog.csv
在Windows服务器中,csv
和rlog
之间有一个空格
最初,它没有看到位置,因为\r
是一个特殊字符,我发现在字符串之前加r
使其成为文字。
到目前为止,我的脚本是:
import numpy as np
import pandas as pd
PATH = r"\\serverip\csv%20files\rlog.csv"
data_file = pd.read_csv(PATH, sep="|")
print(data_file)
我用r"\\serverip\csv files\rlog.csv"
,r"\\serverip\csv%20files\rlog.csv"
和smb://serverip/csv%20files/rlog.csv
尝试了PATH变量,但是它们都输出相同的错误。
它输出错误IOError: File "\\serverip\csv%20files\rlog.csv" does not exist
,尽管它在目录中并且存在。
是否有一种特殊的方法可以做到这一点?因为我茫然。
答案 0 :(得分:0)
Pandas与Samba合作时遇到问题。将协议更改为CIFS后,此问题已解决。我必须为本地文件夹创建一个目录,以便可以从文件共享中映射文件共享。这是它起作用的唯一方法。
sudo mkdir /mnt/cifs
sudo mount -t cifs "//serverip/csv files" /mnt/cifs -o username=un,password=pw,domain=COMPUTER