用python将shift-jis编码的csv文件转化为utf8编码,要求弹出windows对话框选择源文件和输出路径。
时间: 2024-05-01 12:21:00 浏览: 178
你可以使用Python内置的`tkinter`库来创建GUI界面,并使用`codecs`库来实现编码转换。以下是一个简单的示例代码:
```python
import tkinter as tk
from tkinter import filedialog
import codecs
# 创建窗口
root = tk.Tk()
root.withdraw()
# 打开文件选择对话框
file_path = filedialog.askopenfilename(filetypes=[('CSV Files', '*.csv'), ('All Files', '*.*')])
# 如果用户取消选择文件,则退出程序
if not file_path:
exit()
# 打开文件并读取内容
with codecs.open(file_path, 'r', 'shift_jis') as f:
content = f.read()
# 打开输出路径选择对话框
output_path = filedialog.asksaveasfilename(defaultextension='.csv', filetypes=[('CSV Files', '*.csv'), ('All Files', '*.*')])
# 如果用户取消选择输出文件路径,则退出程序
if not output_path:
exit()
# 将内容转换为UTF-8编码并写入输出文件
with codecs.open(output_path, 'w', 'utf-8') as f:
f.write(content)
```
这段代码会弹出两个对话框,第一个用于选择源文件,第二个用于选择输出文件路径。你可以根据需要修改默认的文件类型和扩展名。
阅读全文