Pythonic/efficient way to strip whitespace from every Pandas Data frame cell that has a stringlike object in it

后端 未结 8 1498
悲&欢浪女
悲&欢浪女 2020-12-04 12:05

I\'m reading a CSV file into a DataFrame. I need to strip whitespace from all the stringlike cells, leaving the other cells unchanged in Python 2.7.

Here is what I\

8条回答
  •  情话喂你
    2020-12-04 12:31

    When you call pandas.read_csv, you can use a regular expression that matches zero or more spaces followed by a comma followed by zero or more spaces as the delimiter.

    For example, here's "data.csv":

    In [19]: !cat data.csv
    1.5, aaa,  bbb ,  ffffd     , 10 ,  XXX   
    2.5, eee, fff  ,       ggg, 20 ,     YYY
    

    (The first line ends with three spaces after XXX, while the second line ends at the last Y.)

    The following uses pandas.read_csv() to read the files, with the regular expression ' *, *' as the delimiter. (Using a regular expression as the delimiter is only available in the "python" engine of read_csv().)

    In [20]: import pandas as pd
    
    In [21]: df = pd.read_csv('data.csv', header=None, delimiter=' *, *', engine='python')
    
    In [22]: df
    Out[22]: 
         0    1    2    3   4    5
    0  1.5  aaa  bbb  ffffd  10  XXX
    1  2.5  eee  fff  ggg  20  YYY
    

提交回复
热议问题