【问题标题】:Dynamically read csv files python pandaspython pandas动态读取csv文件
【发布时间】:2013-08-22 13:59:08
【问题描述】:

我想在 for 循环中迭代地从一组 csv 文件中读取数据。 csv 文件命名为(1.csv2.csv 等)

读取数据的正常方式是

data = pd.read_csv('1.csv')

请有人建议在使用for 循环时如何将1 替换为i

我尝试了data = pd.read_csv(i+'.csv')data = pd.read_csv(i'.csv'),但它们不起作用。

【问题讨论】:

    标签: python csv pandas


    【解决方案1】:

    使用任一百分比格式

     pd.read_csv('%d.csv' % i)
    

    format

     pd.read_csv('{0}.csv'.format(i))
    

    【讨论】:

    • 或者使用字符串连接:pd.read_csv(str(i)+'.csv') 没有什么不好的,它比格式表达式还要快。
    • 这实际上是 Python 的领域之一,Perl 的口头禅“有不止一种方法可以做到这一点”。还有'%i',您可以将类型说明符传递给format...有很多方法!
    【解决方案2】:

    制作一个单独的字符串?

    如果i 确实是一个整数,使用:

    filename = str(i) + '.csv'
    data=pd.read_csv(filename)
    

    甚至:

    data=pd.read_csv(str(i)+'.csv')
    

    应该没问题:)

    【讨论】:

    • 我没有对你投反对票,但 FWIW 不适用于整数 i。你必须这样做str(i) + '.csv'
    • 没有关于iint 还是str 的信息。我也不明白反对票。
    • 不是downvoter,但我认为很明显 i 是一个整数,所以可能就是这样。不过我更喜欢另一个答案。
    猜你喜欢
    • 2021-12-08
    • 1970-01-01
    • 2020-05-05
    • 2020-01-29
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    相关资源
    最近更新 更多