在Python中,可以使用内置的csv模块来读写CSV文件。对于不同的编码格式,可以使用csv模块的open函数指定正确的编码格式。
下面是一个示例代码,演示如何读取和写入UTF-8、UTF-8 BOM、UTF-16和UTF-16 Big Ending编码的CSV文件:
python复制代码
import csv | |
# 读取UTF-8编码的CSV文件 | |
with open('utf8.csv', 'r', encoding='utf-8') as file: | |
reader = csv.reader(file) | |
for row in reader: | |
print(row) | |
# 写入UTF-8编码的CSV文件 | |
with open('utf8.csv', 'w', encoding='utf-8') as file: | |
writer = csv.writer(file) | |
writer.writerow(['姓名', '年龄']) | |
writer.writerow(['张三', 25]) | |
writer.writerow(['李四', 30]) | |
# 读取UTF-8 BOM编码的CSV文件 | |
with open('utf8bom.csv', 'r', encoding='utf-8-sig') as file: | |
reader = csv.reader(file) | |
for row in reader: | |
print(row) | |
# 写入UTF-8 BOM编码的CSV文件 | |
with open('utf8bom.csv', 'w', encoding='utf-8-sig') as file: | |
writer = csv.writer(file) | |
writer.writerow(['姓名', '年龄']) | |
writer.writerow(['张三', 25]) | |
writer.writerow(['李四', 30]) | |
# 读取UTF-16编码的CSV文件 | |
with open('utf16.csv', 'r', encoding='utf-16') as file: | |
reader = csv.reader(file) | |
for row in reader: | |
print(row) | |
# 写入UTF-16编码的CSV文件 | |
with open('utf16.csv', 'w', encoding='utf-16') as file: | |
writer = csv.writer(file) | |
writer.writerow(['姓名', '年龄']) | |
writer.writerow(['张三', 25]) | |
writer.writerow(['李四', 30]) | |
# 读取UTF-16 Big Ending编码的CSV文件 | |
with open('utf16bigending.csv', 'r', encoding='utf-16-be') as file: | |
reader = csv.reader(file) | |
for row in reader: | |
print(row) | |
# 写入UTF-16 Big Ending编码的CSV文件 | |
with open('utf16bigending.csv', 'w', encoding='utf-16-be') as file: | |
writer = csv.writer(file) | |
writer.writerow(['姓名', '年龄']) | |
writer.writerow(['张三', 25]) | |
writer.writerow(['李四', 30]) |