用python将我文件夹内的txt文件批量转化为csv,txt文件已用;分隔符分开
时间: 2024-03-17 16:45:51 浏览: 59
以下是一个示例代码,可以用Python将文件夹内的txt文件批量转换为csv格式,txt文件已用;分隔符分开:
```python
import os
import csv
# 定义函数将txt文件转换为csv文件
def txt_to_csv(txt_file, csv_file, delimiter):
with open(txt_file, 'r') as txt, open(csv_file, 'w', newline='') as csv_file:
writer = csv.writer(csv_file, delimiter=delimiter)
for line in txt:
writer.writerow(line.strip().split(delimiter))
# 定义函数批量转换文件夹内的txt文件
def batch_txt_to_csv(folder_path, delimiter):
# 遍历文件夹内的txt文件
for filename in os.listdir(folder_path):
if filename.endswith('.txt'):
# 构造txt文件和csv文件的路径
txt_file = os.path.join(folder_path, filename)
csv_file = os.path.join(folder_path, filename[:-4] + '.csv')
# 调用txt_to_csv函数将txt文件转换为csv文件
txt_to_csv(txt_file, csv_file, delimiter)
print(f'{filename} 转换完成!')
# 调用函数批量转换txt文件
folder_path = 'your_folder_path'
delimiter = ';'
batch_txt_to_csv(folder_path, delimiter)
```
在这个示例中,我们在txt_to_csv()函数中添加了一个delimiter参数,用于指定txt文件中的分隔符。在调用txt_to_csv()函数时,我们将delimiter参数传递给csv.writer()构造函数和split()方法。在调用batch_txt_to_csv()函数时,我们将分隔符';'作为delimiter参数传递给函数。您可以根据实际情况选择不同的分隔符。
请注意,在将txt文件转换为csv文件时,您需要根据txt文件的编码方式选择正确的打开方式。如果txt文件的编码方式为UTF-8,则使用'utf-8'作为打开方式;如果txt文件的编码方式为GB2312,则使用'gb2312'作为打开方式。
阅读全文