英招

牢骚太盛防肠断,风物长宜放眼量

0%

提取文件夹的所有数据

导入所有txt(by R)

1
2
3
4
5
6
7
8
9
txt_files <- list.files(path = "E:\\data\\txt_path", 
pattern = "\\.txt$",
full.names = TRUE)
#所有txt以list格式保存至txt_data_list中,要调用时用txt_data_list[[i]](从1开始)
txt_data_list <- lapply(txt_files, function(file) {
read.table(file, sep = "\t", header = TRUE)
})
#查看数据
data<-txt_data_list[[1]]

导入所有csv(by R)

1
2
3
4
5
6
7
8
9
#导入所有csv
rsall<-list.files(path = "E:\\data\\csv_path",
pattern = "*.csv",
full.names = T)
csv_data_list <- lapply(rsall, function(file) {
read.csv(file, sep = ",", header = TRUE)
})
#查看数据
data<-txt_data_list[[1]]

导入所有xls(by R)

1
2
3
4
5
6
7
8
9
#采用readxl包读取xls文件
library(readxl)
#导入所有xls
rsall<-list.files(path = "E:\\task\\工作\\240710梅州资料\\雨量\\",
pattern = "*.xls",
full.names = T)
xls_data_list <- lapply(rsall, read_excel)
#查看数据
data<-xls_data_list[[1]]

导入所有csv(by python)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 1. 数据加载
import os
import pandas as pd

folder_path = 'E:/data/csv_path'
# 创建一个空字典来存储文件名和DataFrame的映射
dfs_dict = {}

for filename in os.listdir(folder_path):
#对以.csv结尾的文件执行下面指令
if filename.endswith('.csv'):
file_path = os.path.join(folder_path, filename)
try:
# 尝试读取CSV文件,假设UTF-8编码,如果失败则尝试其他编码
df = pd.read_csv(file_path, encoding='utf-8')
dfs_dict[filename] = df # 将文件名作为键,DataFrame作为值存储在字典中
except UnicodeDecodeError:
# 如果UTF-8失败,则尝试其他编码(这里以GBK为例)
try:
df = pd.read_csv(file_path, encoding='gbk')
dfs_dict[filename] = df
except Exception as e:
# 如果所有尝试都失败了,打印错误信息
print(f"无法读取文件 {file_path},错误:{e}")

#查看所有数据情况
for filename, df in dfs_dict.items():
print(f"{filename}")
print(df.head())
print("-" * 50)

#指定文件(从0开始),只要文件的某列(从0开始),[:,0:6]为1:7列,[:,[0,6]]为1和7列
filenames = sorted(dfs_dict.keys())
#input为哪个站点
input = dfs_dict[filenames[3]].iloc[:,0:6]
input