【问题标题】:Load CSV with data surrounded by parentheses into a pandas dataframe将带有括号括起来的数据的 CSV 加载到 pandas 数据框中
【发布时间】:2018-02-25 19:48:23
【问题描述】:

我需要帮助阅读带有熊猫的 csv,看起来像这样

(DATA), (DATA2) , (DATA3)
(1), (2,3), (4)

列之间用“,”分隔,并且在()之间也有“,”。

谢谢!

【问题讨论】:

    标签: python pandas csv dataframe


    【解决方案1】:

    使用正则表达式分隔符调用read_csv

    df = pd.read_csv(buf, delimiter='\s*,\s*(?=\()', engine='python')
    df
      (DATA) (DATA2) (DATA3)
    0    (1)   (2,3)     (4)
    

    现在,去掉列中的括号:

    df.columns = df.columns.str.replace('[()]', '')
    df = df.replace('[()]', '', regex=True)
    df
    
      DATA DATA2 DATA3
    0    1   2,3     4
    

    DATADATA3 现在可以使用 astype(float) 转换为数字列。对于DATA2,您可以调用str.split 并将其转换为列列表:

    df['DATA2'].str.split(',')
    0    [2, 3]
    Name: DATA2, dtype: object
    

    【讨论】:

      猜你喜欢
      • 2016-12-30
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      • 2015-08-18
      • 1970-01-01
      • 2022-11-16
      • 2010-09-27
      • 1970-01-01
      相关资源
      最近更新 更多