用python把shiftjis格式的csv文件转为utf8格式,并且用;做间隔的方法
时间: 2024-02-24 22:59:01 浏览: 140
可以使用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文件中。
python读取某shiftjis编码的csv文件,并抽取其中的1-4列生成新的utf8编码的csv文件
首先,需要使用Python中的csv模块来读取csv文件。由于该csv文件是用shiftjis编码的,需要使用codecs模块指定编码格式来打开文件。然后使用csv模块的reader方法读取文件,并抽取1-4列的数据。最后使用csv模块的writer方法,将数据写入新的csv文件中,同时指定编码格式为utf-8。
以下是示例代码:
```python
import csv
import codecs
# 打开原始csv文件,指定编码格式为shiftjis
with codecs.open('filename.csv', 'r', encoding='shiftjis') as f:
reader = csv.reader(f)
# 新建一个utf-8编码的csv文件
with open('newfile.csv', 'w', encoding='utf-8', newline='') as f2:
writer = csv.writer(f2)
# 逐行读取原始文件并抽取1-4列数据
for row in reader:
new_row = [row[0], row[1], row[2], row[3]]
# 将抽取的数据写入新文件中
writer.writerow(new_row)
```
注意,由于新的csv文件是以utf-8编码保存的,因此在写入文件时需要指定newline参数为空字符串,以免出现换行符的问题。
阅读全文