用python写一个 读取文件夹中所以的csv文件里的数据,并按顺序保存在一个数组里面
时间: 2024-04-29 19:26:48 浏览: 10
好的,我可以为您解答这个问题。以下是一个Python程序,可以读取一个文件夹中所有的CSV文件,并将它们按顺序保存在一个数组中:
```python
import os
import csv
folder_path = "path/to/folder" # 您需要将此路径替换为您要读取的文件夹的实际路径
data_array = []
for filename in os.listdir(folder_path):
if filename.endswith(".csv"):
with open(os.path.join(folder_path, filename), "r") as csv_file:
csv_reader = csv.reader(csv_file)
for row in csv_reader:
data_array.append(row)
print(data_array)
```
这个程序会读取指定文件夹内所有扩展名为.csv的文件,并把它们里面的数据逐行添加到一个数组中,最后输出这个数组。如果您想按照文件名的字母顺序排序CSV文件,可以使用Python内建的`sorted`函数。
相关问题
请用Python写一个读取文件夹中所有csv格式文件的代码
当然!以下是一个使用Python的os和csv库编写的代码,用于读取文件夹中所有csv格式文件:
```python
import os
import csv
def read_csv_files(folder_path):
csv_files = [file for file in os.listdir(folder_path) if file.endswith('.csv')]
data = []
for file in csv_files:
file_path = os.path.join(folder_path, file)
with open(file_path, 'r', newline='') as csv_file:
reader = csv.reader(csv_file)
next(reader) # 跳过头部(如果有)
for row in reader:
data.append(row)
return data
# 指定文件夹路径
folder_path = '/path/to/folder'
# 读取csv文件
data = read_csv_files(folder_path)
# 打印数据
for row in data:
print(row)
```
在这个例子中,我们定义了一个`read_csv_files`函数,该函数接受一个文件夹路径作为参数。它首先使用`os.listdir`函数列出文件夹中所有的文件,然后筛选出以`.csv`结尾的文件。接下来,它遍历每个csv文件,并使用`csv.reader`来逐行读取数据。你可以根据需要跳过头部或对每行数据进行处理。最后,它将所有的数据存储在一个列表中,并返回该列表。
你需要将`folder_path`变量替换为你想要读取csv文件的文件夹的实际路径。然后,调用`read_csv_files`函数,它将返回一个包含所有数据的列表。你可以根据你的需求进一步处理和使用这些数据。
希望这个代码对你有帮助!
python如何用pandas读取一个文件夹里面的所有csv文件的第2列,保存为只有一列数据的数组
可以按照以下步骤来实现:
1. 首先,使用Python的os模块,获取指定文件夹下所有csv文件的文件名列表。
```
import os
path = '/path/to/folder' # 指定文件夹路径
csv_files = [f for f in os.listdir(path) if f.endswith('.csv')] # 获取所有csv文件名
```
2. 接下来,使用pandas的read_csv函数读取每个csv文件,并将第2列数据保存到一个数组中。
```
import pandas as pd
data = [] # 用于保存所有第2列数据的数组
for file in csv_files:
df = pd.read_csv(os.path.join(path, file)) # 读取csv文件
data.append(df.iloc[:, 1]) # 保存第2列数据到数组中
```
3. 最后,将data数组合并成一个只有一列数据的DataFrame,并将其保存为csv文件。
```
result = pd.concat(data, axis=0).reset_index(drop=True) # 合并成一个DataFrame并重置索引
result.to_csv('output.csv', index=False) # 保存为csv文件
```
这样,就完成了读取指定文件夹下所有csv文件的第2列数据,并将其保存为只有一列数据的数组的操作。