【问题标题】:How can i read multile csv files at once at python?如何在 python 中一次读取多个 csv 文件?
【发布时间】:2017-05-17 03:20:00
【问题描述】:
df1 =  pd.read_table('CUSR0000SS62031.csv', sep=',')
df2 =  pd.read_table('CUUR0000SS62031.csv', sep=',')
df3 =  pd.read_table('CUSR0000SERA02.csv', sep=',')
df4 =  pd.read_table('CUUR0000SERA02.csv', sep=',')
df5 =  pd.read_table('CUUR0000SEFR02.csv', sep=',')

现在我正在编写这样的代码以加载 csv 文件....但是生成代码需要时间...

如果我有一个文件名数组,我可以使用 while/for 循环自动执行上述代码吗?非常感谢,我已经尝试过,但不确定如何自动将 df1 的名称更改为 n...谢谢!!

【问题讨论】:

  • 如果你真的想“一次”阅读它们,你会想看看python中优秀的multiprocessing库。这是一个高级但功能强大的主题,它可以让您同时运行多个进程来同时读取 CSV 文件,利用当今的现代多核 CPU 来真正快速地完成任务。
  • 非常感谢!绝对让我大开眼界!
  • @DanFarrell 因为磁盘 I/O 是这里的主要瓶颈,我不确定多处理在这里增加了什么(但复杂性)。好吧,它需要一些基准测试。

标签: python pandas dataframe automation statistics


【解决方案1】:

生成变量名称不是一个好主意,但作为一个不错的选择,您可以在列表理解中创建数据框:

df_list = [pd.read_table(f,sep=',') for f in ['CUSR0000SS62031.csv','CUUR0000SS62031.csv','CUSR0000SERA02.csv','CUUR0000SERA02.csv','CUUR0000SEFR02.csv']]

然后按索引(例如:df_list[1])或循环访问您的数据帧:

for dfx in df_list:
   # do something with dfx pd.dataframe object

【讨论】:

    猜你喜欢
    • 2021-11-19
    • 2020-07-10
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2022-06-13
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多