第1行按照正则规则分列后,才知道有多少列,分列符号也不知道有几个空格。写入新的CSV文件Output
时间: 2024-03-06 18:51:24 浏览: 66
javascript正则表达式
可以使用Python中的re模块来进行正则表达式匹配,再根据匹配结果来分列并写入到新的CSV文件中。
以下是一个示例代码,假设输入文件名为"input.csv",输出文件名为"output.csv",分隔符为任意数量的空格:
```python
import re
import csv
input_file = 'input.csv'
output_file = 'output.csv'
delimiter = '\s+' # 任意数量的空格
# 读取输入文件
with open(input_file, 'r') as f:
lines = f.readlines()
# 获取列数
num_columns = len(re.split(delimiter, lines[0]))
# 分列并写入新文件
with open(output_file, 'w', newline='') as f:
writer = csv.writer(f)
for line in lines:
row = re.split(delimiter, line.strip())
# 如果列数不足,就用空字符串填充
if len(row) < num_columns:
row += [''] * (num_columns - len(row))
writer.writerow(row)
```
这段代码首先读取输入文件的所有行,然后根据第一行的分隔符来获取列数,接着使用正则表达式来分列并写入到新的CSV文件中。如果一行的列数不足,就用空字符串填充,确保每行都有相同的列数。
阅读全文