CSV的标题列有无数个空格,现在根据"]"或者“wash”或者"eat"为符号进行分列。写出pandas代码
时间: 2023-07-19 20:23:58 浏览: 157
解决pandas read_csv 读取中文列标题文件报错的问题
5星 · 资源好评率100%
假设有一个名为`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)
# 获取第一行数据,并按照"]"进行分列
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`。
阅读全文