用python写一个对多个csv文件的分词代码
时间: 2024-03-13 21:45:45 浏览: 58
好的,下面是一个基于Python的分词代码,可以对多个CSV文件进行分词:
```python
import csv
import jieba
# 定义分词函数
def segment_text(text):
seg_list = jieba.cut(text)
return " ".join(seg_list)
# 定义处理函数
def process_file(input_file_path, output_file_path):
# 读取CSV文件
with open(input_file_path, 'r', encoding='utf-8') as input_file:
reader = csv.reader(input_file)
headers = next(reader)
content_index = headers.index('content')
data = [row[content_index] for row in reader]
# 分词
seg_data = [segment_text(text) for text in data]
# 写入CSV文件
with open(output_file_path, 'w', encoding='utf-8', newline='') as output_file:
writer = csv.writer(output_file)
writer.writerow(['segmented_content'])
for seg_text in seg_data:
writer.writerow([seg_text])
# 处理多个文件
input_dir = 'input' # 输入文件夹
output_dir = 'output' # 输出文件夹
file_names = ['file1.csv', 'file2.csv', 'file3.csv'] # 文件名列表
for file_name in file_names:
input_file_path = f'{input_dir}/{file_name}'
output_file_path = f'{output_dir}/{file_name}'
process_file(input_file_path, output_file_path)
```
上面的代码中,我们使用jieba库进行中文分词。首先定义了一个分词函数`segment_text`,它接受一个文本参数,返回分词后的字符串。然后定义了一个处理函数`process_file`,它接受输入文件路径和输出文件路径两个参数,读取CSV文件中的`content`列数据,对每个文本进行分词,最后将分词结果写入CSV文件。
最后,我们遍历文件名列表,对每个文件进行处理,将输入文件路径和输出文件路径传给`process_file`函数即可。
希望这个示例能够帮到你!
阅读全文