我有一个csv文件文件夹。我想得到一个列表,其中每个元素都是所有文件行的列表(因此,列表列表)
我尝试了以下方法:
from os import listdir
folder = listdir("folder")
for files in folder:
individualFiles = open(f"folder/{files}", "r")
alist = individualFiles.readlines()
但这只会返回一个包含所有数据的巨大列表,而不是列表列表
我能做什么
我是一个初学者,我正在努力学习编程的逻辑,因此如果解决方案不需要花哨的函数,而是需要逻辑,我将不胜感激
代码中的问题只是将赋值给
alist
:alist = individualFiles.readlines()
将附加到它,而不是:
alist.append(individualFiles.readlines())
您必须在循环之前创建一个列表:
alist = list()
这是您的代码,稍作修改,以解释逻辑:
一种非常简单的方法如下例所示
步骤/逻辑:
glob
库来实现这一点,因为glob
返回完整文件路径,所以不需要自己构建它李>with
语句读取文件。这对于确保文件句柄自动关闭非常重要李>container
列表李>示例代码:
档案:
输出:
您可以使用csv模块。这将返回文件夹中每个csv的行列表(每行都是自己的列表),跳过标题:
输出:
要访问
file1.csv
中的行,请执行以下操作:输出:
相关问题 更多 >
编程相关推荐