用python把shiftjis格式的csv文件转为utf8格式。注意,源文件是用,间隔,转换后需要改为用;做间隔
时间: 2024-02-24 14:59:10 浏览: 149
可以使用Python内置的csv和codecs模块来完成这个任务。下面是一个示例代码:
```python
import csv
import codecs
# 打开shiftjis格式的csv文件,并使用utf8编码写入新文件
with codecs.open('input.csv', 'r', 'shiftjis') as f_input, \
codecs.open('output.csv', 'w', 'utf-8') as f_output:
# 创建csv读写对象
reader = csv.reader(f_input, delimiter=',')
writer = csv.writer(f_output, delimiter=';')
# 逐行读取并写入新文件
for row in reader:
# 将逗号分隔的行转换为分号分隔的行
new_row = [cell.replace(',', ';') for cell in row]
writer.writerow(new_row)
```
在这个代码中,我们使用了codecs模块打开了一个shiftjis格式的csv文件,并使用utf8编码写入了一个新文件。然后,我们创建了两个csv读写对象(reader和writer),并将读取的分隔符设置为了",",写入的分隔符设置为了";"。最后,我们逐行读取原文件,并将每一行中的逗号替换为分号,然后写入新文件。
相关问题
用python把shiftjis格式的csv文件转为utf8格式,并且用;做间隔的方法
可以使用Python内置的csv和codecs模块来完成这个任务。下面是一个示例代码:
```python
import csv
import codecs
# 打开shiftjis格式的csv文件,并使用utf8编码写入新文件
with codecs.open('input.csv', 'r', 'shiftjis') as f_input, \
codecs.open('output.csv', 'w', 'utf-8') as f_output:
# 创建csv读写对象
reader = csv.reader(f_input, delimiter=';')
writer = csv.writer(f_output, delimiter=';')
# 逐行读取并写入新文件
for row in reader:
writer.writerow(row)
```
在这个代码中,我们使用了codecs模块打开了一个shiftjis格式的csv文件,并使用utf8编码写入了一个新文件。然后,我们创建了两个csv读写对象(reader和writer),并将读取和写入的分隔符都设置为了";"。最后,我们逐行读取原文件,并将每一行写入新文件。
使用 iconv 把shiftjis编码的csv文件转为utf8编码csv文件的示例
假设你的shiftjis编码的csv文件名为input.csv,转换后的utf8编码csv文件名为output.csv,可以使用以下命令:
```
iconv -f shiftjis -t utf-8 input.csv > output.csv
```
上面的命令中,-f参数指定输入文件的编码格式为shiftjis,-t参数指定输出文件的编码格式为utf-8。最后使用重定向符号将转换后的内容输出到output.csv文件中。
阅读全文