在使用 Python 批量处理 Excel 时经常需要批量读取数据,常见的方式是结合glob
模块,可以实现将当前文件夹下的所有csv批量读取,并且合并到一个大的DataFrame
中
df_list = []
for file in glob.glob("*.csv"):
df_list.append(pd.read_excel(file))
df = pd.concat(df_list)
但是这样要求读取的每一个csv文件格式、列名都是一样的。
如果想要将每一个csv独立的进行读取,可以使用 os
模块来循环遍历当前文件夹中的 CSV 文件,然后使用 Pandas 的 read_csv
函数来读取每个文件
import os
import pandas as pd
df_list = []
for file in os.listdir():
if file.endswith(".csv"):
df_list.append(pd.read_csv(file))
现在,df_list
中的每个元素都是一个 DataFrame
,但是这样依旧不够完美,调用的时候依旧需要手动从列表中提取。
那如何自动读取当前文件夹下全部CSV数据,并将每个CSV赋给不同的变量
可以使用Python中的globals()
函数,它返回一个字典,其中包含当前程序的所有全局变量,例如我们可以使用如下语法来为字典中的某个键赋值:
globals()[key] = value
所以ÿ