【问题标题】:Read csv files that contain/without certain character读取包含/不包含特定字符的 csv 文件
【发布时间】:2021-07-13 20:46:45
【问题描述】:

我在同一个文件夹中有几个csv文件,有些包含字符'^',有些不包含,我按以下方式将它们读取为df:

def readfile(f):
    df = pd.read_csv(f)
    df['ticker'] = f.split('.')[0].strip('^')
    return df

现在我想同样定义两个函数,但是:

  1. readfile1(f) 这样它只读取不包含^的文件,并返回带有代码的df作为文件名。
  2. readfile2(f) 这样它只读取 包含 ^ 的文件,并返回带有代码的 df 作为不带 ^
  3. 的文件名

我可以通过对readfile 进行一些更改来做到这一点吗?

【问题讨论】:

    标签: python pandas dataframe csv


    【解决方案1】:

    如果我正确理解您的问题,您可以尝试以下代码:

    def readfile(f):
       df = pd.read_csv(f)
       if '^' in f:
           df['ticker'] = f.split('.')[0].strip('^')
       else:
           df['ticker'] = f
       return df
    

    【讨论】:

    • 谢谢。但我想要两个单独的 df,一个包含带有 ^ 的 csv,另一个包含不带 ^ 的 csv
    • 这将在每次运行中为您返回一个 df,文件名作为列。您应该为每个文件名调用函数。
    【解决方案2】:

    遍历ticker,一旦遇到^,就打破循环并使用readfile2,否则使用readfile1

    【讨论】:

      猜你喜欢
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2018-05-02
      • 1970-01-01
      相关资源
      最近更新 更多