IOError 没有这样的文件或目录,但文件确实存在
IOError No such file or directory, but file does exist
以下程序用于读取 CSV 文件并将其转换为 MySQL 插入语句:
import csv
openFile = open('test.csv', 'r')
csvFile = csv.reader(openFile)
header = next(csvFile)
headers = map((lambda x: "'"+x+"'"), header)
insert = 'INSERT INTO Table (' + ", ".join(headers) +", 'time_stamp'" +") VALUES "
for row in csvFile:
values = map((lambda x: "'"+x.strip()+"'"), row)
print (insert +"("+ ", ".join(values) +", getdate());" )
openFile.close()
我做了以下修改,试图让程序处理多个文件,而不是仅仅明确列出文件名,但当文件明显存在时,我不断收到错误提示 IOError: [Errno 2] No such file or directory: 'Exact name of existing file.csv'
打印确切的文件名。我如何编辑以下代码以使其适用于目录中的一组文件而不会出现上述错误?
import csv, os
path = 'C:/Users/August/Desktop/TripDetailFiles/test'
for csvFile in os.listdir(path):
if csvFile.endswith('.csv'):
openFile = open(csvFile)
readFile = csv.reader(openFile)
header = next(readFile)
headers = map((lambda x: "'"+x+"'"), header)
insert = 'INSERT INTO Table (' + ", ".join(headers) +", 'time_stamp'" +") VALUES "
for row in csvFile:
values = map((lambda x: "'"+x.strip()+"'"), row)
print (insert +"("+ ", ".join(values) +", getdate());" )
openFile.close()
绝对路径告诉我你不是 运行 该目录中的脚本。
我相信 os.listdir 只给你文件名而不是路径,而且这些文件名不存在于脚本 运行 所在的目录中。你需要连接路径和文件名!
openFile = open(path + '/' + csvFile)
以下程序用于读取 CSV 文件并将其转换为 MySQL 插入语句:
import csv
openFile = open('test.csv', 'r')
csvFile = csv.reader(openFile)
header = next(csvFile)
headers = map((lambda x: "'"+x+"'"), header)
insert = 'INSERT INTO Table (' + ", ".join(headers) +", 'time_stamp'" +") VALUES "
for row in csvFile:
values = map((lambda x: "'"+x.strip()+"'"), row)
print (insert +"("+ ", ".join(values) +", getdate());" )
openFile.close()
我做了以下修改,试图让程序处理多个文件,而不是仅仅明确列出文件名,但当文件明显存在时,我不断收到错误提示 IOError: [Errno 2] No such file or directory: 'Exact name of existing file.csv'
打印确切的文件名。我如何编辑以下代码以使其适用于目录中的一组文件而不会出现上述错误?
import csv, os
path = 'C:/Users/August/Desktop/TripDetailFiles/test'
for csvFile in os.listdir(path):
if csvFile.endswith('.csv'):
openFile = open(csvFile)
readFile = csv.reader(openFile)
header = next(readFile)
headers = map((lambda x: "'"+x+"'"), header)
insert = 'INSERT INTO Table (' + ", ".join(headers) +", 'time_stamp'" +") VALUES "
for row in csvFile:
values = map((lambda x: "'"+x.strip()+"'"), row)
print (insert +"("+ ", ".join(values) +", getdate());" )
openFile.close()
绝对路径告诉我你不是 运行 该目录中的脚本。
我相信 os.listdir 只给你文件名而不是路径,而且这些文件名不存在于脚本 运行 所在的目录中。你需要连接路径和文件名!
openFile = open(path + '/' + csvFile)