3.第一行按照正则规则1分列后,才知道有多少列,分列符号也不知道有几个空格。写入新的CSV文件Output 4.从下一行开始按照正则规则2分列后,才知道有多少列,,分列符号也不知道有几个空格。继续写入新的CSV文件Output
时间: 2024-03-06 14:48:28 浏览: 76
根据你的描述,你需要读取一个 CSV 文件,使用不同的正则表达式对第一行和其余行的信息进行分列,并将结果分别写入两个不同的 CSV 文件中。可以使用 Pandas 库中的 read_csv() 函数读取 CSV 文件,并将数据转换为 DataFrame 格式。然后,使用正则表达式对 DataFrame 中的数据进行分列,得到新的 DataFrame 格式的数据。最后,使用 to_csv() 函数将新的 DataFrame 格式的数据写入到新的 CSV 文件中。
下面是可能的代码实现:
```python
import pandas as pd
import re
# 定义正则表达式
REGEX1 = r'...' # 正则表达式1
REGEX2 = r'...' # 正则表达式2
# 读取 CSV 文件
data = pd.read_csv('input.csv', header=None)
# 对第一行进行分列
columns1 = [f'col{i}' for i in range(1, len(data.iloc[0].str.split())+1)]
df1 = pd.DataFrame(re.findall(REGEX1, data.iloc[0][0]), columns=columns1)
# 对其余行进行分列
columns2 = [f'col{i}' for i in range(1, len(data.iloc[1:].str.split().max())+1)]
df2 = pd.DataFrame([re.findall(REGEX2, line) for line in data.iloc[1:].astype(str)], columns=columns2)
# 将结果写入新的 CSV 文件
df1.to_csv('output1.csv', index=False)
df2.to_csv('output2.csv', index=False)
```
需要注意的是,上述代码中的正则表达式和列名需要根据实际情况进行修改。另外,如果第一行和其余行中的分列符号不同,也可以通过修改正则表达式来实现对不同分列符号的支持。
阅读全文