如果CSV的第一行以"apple)"."pear)"等单词结尾,不确定有多少种,进行分列
时间: 2023-07-19 12:23:58 浏览: 33
如果CSV的第一行以"apple)"."pear)"等单词结尾,并且不确定有多少种,则可以通过编程来实现分列。以下是一种Python实现方式:
```python
import csv
# 读取CSV文件
with open('filename.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
# 获取第一行数据
header = next(csv_reader)
# 定义列名
columns = header[:-1] # 去掉最后一个单词结尾
# 动态生成列名
last_word = header[-1].strip(')') # 去掉单词结尾的")"
for i in range(1, 100): # 假设最多可能有100种单词结尾
column_name = last_word + str(i)
columns.append(column_name)
# 创建CSV写入对象
with open('output.csv', 'w', newline='') as output_file:
csv_writer = csv.writer(output_file)
# 写入列名
csv_writer.writerow(columns)
# 写入数据
for row in csv_reader:
data = row[:-1] # 去掉最后一个单词结尾
last_word_value = row[-1].strip(')') # 去掉单词结尾的")"
for i in range(1, 100):
column_value = '' if i != 1 else last_word_value
column_name = last_word_value + str(i)
if column_name in header:
column_value = row[header.index(column_name)]
data.append(column_value)
csv_writer.writerow(data)
```
以上代码会将CSV文件中的数据按照最后一个单词结尾进行分列,并将结果写入到output.csv文件中。如果有其他需求,请告诉我。