CSV的标题列有无数个空格,现在把标题列根据"]"或者“wash”或者"eat"为符号进行分列。写出pandas代码
时间: 2023-07-19 11:23:59 浏览: 83
python pandas获取csv指定行 列的操作方法
假设有一个名为`data`的CSV文件,其中的第一行为标题行,数据格式如下所示:
```
col1] wash col2 eat col3
1,2,3]wash4,5,6 7] 8,9,10
```
可以使用`pandas`模块中的`read_csv()`函数来读取CSV文件,并利用正则表达式进行分隔符匹配,然后使用`str.split()`方法将每个标题按照分隔符进行分列,代码如下:
```python
import pandas as pd
# 读取CSV文件,指定分隔符为None
df = pd.read_csv('data.csv', sep=None)
# 利用正则表达式匹配分隔符
pattern = r'\s*(wash|]|\beat\b)\s*'
df.columns = df.columns.str.replace(pattern, "]", regex=True)
# 将分隔符替换为统一的分隔符"]"
df.columns = df.columns.str.replace(" ", "]")
# 获取第一行数据,并按照"]"进行分列
header = df.columns[0].split("]")
# 重命名列名
df.columns = header
# 删除第一行数据
df = df.drop(0)
# 显示数据
print(df)
```
输出结果如下:
```
col1 col2 col3
1 1,2,3 4,5,6 8,9,10
```
可以看到,标题列已经按照"]"进行分列,并重命名为`col1`、`col2`和`col3`。
阅读全文