如何使用一个函数或for循环导入大量的 csv 数据文件?

17 浏览
0 Comments

如何使用一个函数或for循环导入大量的 csv 数据文件?

我有109个csv文件,我想使用一个函数或一个for循环来导入它们。到目前为止,我是通过手动导入文件来使用以下函数:

import numpy as np 
plain_table1 = np.genfromtxt('文件路径\文件名1.csv', delimiter=',')
...
plain_table109 = np.genfromtxt('文件路径\文件名109.csv', delimiter=',')

有没有更简单的方法可以导入所有数据文件,而不必手动输入它们?

0
0 Comments

如何使用一个函数或for循环导入大量的csv数据文件?

问题的出现原因是需要导入多个csv文件,但是希望能够使用一个函数或for循环来实现,以减少代码的重复性和提高代码的可读性。

解决方法如下:

首先,导入所需的库和模块:

import numpy as np
from os import listdir, path

然后,定义一个函数或for循环来导入csv文件。使用numpy的genfromtxt函数来读取csv文件,并将其存储在一个字典中,其中字典的键是文件名,值是读取的数据。假设文件所在的文件夹路径为FolderPath,代码如下:

plain_table = {file: np.genfromtxt(path.join(FolderPath,file), delimiter=',') for file in listdir(FolderPath)}

最后,可以通过打印字典的长度来验证导入的文件数量是否正确:

print(len(plain_table))

这样,我们就可以使用一个函数或for循环来导入大量的csv数据文件了。

0
0 Comments

问题的出现原因是用户想要使用一个函数或for循环来导入许多csv数据文件。他们希望能够以简洁的方式将文件导入,并将它们存储在一个列表中。

解决方法是使用for循环和range函数来迭代文件名的数字部分,并使用字符串的占位符和%运算符将变量插入到字符串中。用户可以选择使用列表推导式来更简洁地实现相同的功能。

以下是解决方法的具体代码:

import numpy as np 
first = 1
last = 109
plain_tables = []
for i in range(first, last + 1):
    plain_tables.append(np.genfromtxt('File-path\File-name%s.csv' % i, delimiter=',')

请注意代码中的%s部分,这是一个占位符。与%运算符一起使用,可以将变量插入到字符串中。

另一种实现相同功能的方法是使用列表推导式:

plain_tables = [np.genfromtxt('File-path\File-name%s.csv' % i, delimiter=',')
                for i in range(first, last + 1)]

0