【问题标题】:How to read csv file having columns matching with list of similar columns names (not exact column names)如何读取具有与类似列名列表匹配的列的csv文件(不是确切的列名)
【发布时间】:2021-09-13 13:41:31
【问题描述】:

假设我有一个列为 "A__123","B__324","C__599","D__232","E__235" 的 csv 文件。

columns_to_read = ["A","C","E"]

现在我只想读取列表columns_to_read中的列

如何根据上述条件读取 csv。

我知道我可以使用usecols 来读取 csv 的特定列,但我如何才能读取类似的列?

【问题讨论】:

    标签: python dataframe csv


    【解决方案1】:

    我不包括从 csv 读取的内容,但是当您通过读取 .csv 文件获取列表作为返回值时,我会这样做

    test_data = ["A_123", "B_324", "C_599", "D_232", "E_235"]
    
    columns_to_read = ["A", "C", "E"]
    
    for i in range(len(test_data)):
        for j in range(len(columns_to_read)):
            if (columns_to_read[j] in test_data[i]):
                print(test_data[i])
        
    

    【讨论】:

      【解决方案2】:

      你可以这样做。

      `df = read_csv("file.csv")
      col_name1 = []
      col_name2 = []
      for i in range(1,len(df)):
          col_name1.append(df[i][0])#0 is the index of the column.
          col_name2.append(df[i][1])
      `
      

      然后像这样将代码合并到一个数据帧中

      df2 = pd.DataFrame(list(zip(col_name1,col_name2)),columns=['Column_name1','Column_name2])
      

      请参阅https://www.geeksforgeeks.org/zip-in-python/ 了解zip() 功能。 有关list() 功能,请参阅https://www.programiz.com/python-programming/methods/built-in/listpd.DataFrame() 用于创建数据框。

      【讨论】:

        猜你喜欢
        • 2017-05-24
        • 2020-01-08
        • 1970-01-01
        • 2021-09-11
        • 1970-01-01
        • 2022-08-17
        • 2021-06-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多