如何解决从python列表中打印CSV
所以我有一个小的python脚本,用于验证文件夹是否包含csv文件。到目前为止,我已经可以使用它了,但是我正在尝试将CSV文件从csv文件的结果列表打印到控制台。
import os
import logging
import csv
logger = logging.getLogger()
logger.setLevel(logging.INFO)
files = []
source = '/Users/username/source_folder'
files = checkFile(source)
if len(files) != 0:
for i in files:
with open(i,newline='') as file:
for row in csv.reader(file):
print(row)
def checkFile(directory):
result = []
if len(os.listdir(directory)) == 0:
return result
else:
for file in os.listdir(directory):
if file.endswith('.csv'):
result.append(file)
else:
continue
return result
我不断收到此错误:
FileNotFoundError: [Errno 2] No such file or directory:
所以结果是这样的:['test_01.csv','test_02.csv']
但是我想从列表中读取每个文件到控制台。
test_01.csv
id,first_name,last_name,phone,1,joe,black,555555555
2,jack,flash,1111111111
test_02.csv
id,1111111111
解决方法
os.listdir(...)
仅返回文件/子文件夹名称(不返回完整路径)。除非csv文件位于您当前的工作目录中,否则您将需要将其名称与该目录结合使用,例如与os.path.join(...)
:
def checkFile(directory):
result = []
if len(os.listdir(directory)) == 0:
return result
else:
for file in os.listdir(directory):
if file.endswith('.csv'):
result.append(os.path.join(directory,file))
else:
continue
return result
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。