python - 如何在Python中使用带有法语字符的csv.reader,例如é,à,ç,ê,ë,

标签 python csv

我有一个 csv 文件,如 120 列 x 4500 行。 我读到第一行第一列中的“客户名称”字段。 然后,我在第二个 cvs 文件中查找此字段,其中包含“客户名称和客户 ID” 我编写一个新的 cvs 文件,其中包含“客户名称”、客户 ID“以及 119 列的所有其余内容。并继续直到第一个文件结束。

这是有效的,但我在前两个 csv 文件中到处都有特殊字符。 我不想用“Montr\xe9al-Nord”代替 Montréal-Nord 或在生成的 csv 文件中使用“Val\xe9rie Lamarche”而不是“Valérie Lamarche”。

这是一个测试代码示例:

# -*- coding: utf-8 -*-


import  types
import  wx
import sys
import os, os.path
import win32file
import shutil
import string
import  wx.lib.dialogs
import re
import EmailAttache
import StringIO,csv
import time
import csv

outputfile=open(os.path.join(u"c:\\transales","Resultat-second_contact_act.csv"), "wb")

resultat = csv.writer (outputfile )

def Writefile ( info1, info2 ):
    print info1, info2
    resultat.writerow( [ `info1`,`info2` ,`line[1]`,`line[2]`,`line[3]`,`line[4]`,`line[5]`,`line[6]`,`line[7]`,`line[8]`,`line[9]`,`line[10]`,`line[11]`,`line[12]`,`line[13]`,`line[14]`,`line[15]`,`line[16]`,`line[17]` ] )


data = open(os.path.join(u"c:\\transales","SECONDARY_CONTACTS.CSV"),"rb")
data2 = open(os.path.join(u"c:\\transales","AccountID+ContactID.csv"),"rb")

source1 = csv.reader(data)
source2 = csv.reader(data2)



for line in source1:
    name= line[0]
    data2.seek(0)
    for line2 in source2:
        if line[0] == line2[0]:    
            Writefile(line[0],line2[1])
            break

outputfile.close()

有什么帮助吗?

问候,弗朗索瓦

最佳答案

虽然我不熟悉 csv.reader 或 writer,但我最近一直在处理 utf-8 文件读取,也许使用编解码器模块可能会帮助你。

而不是,

data = open(..., "wb")

尝试,

import codecs

然后对于所有 utf-8 文件,使用,

data = codecs.open(..., "rb", "utf-8")

这会自动以 unicode (utf-8) 形式读取您的文件,并可能将它们正确写入您的文件。

关于python - 如何在Python中使用带有法语字符的csv.reader,例如é,à,ç,ê,ë,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3356074/

相关文章:

Python Pillow 不适用于某些图像

python - 如何在 Python 中分析内存使用情况?

python - 是否替换嵌套的 For 循环...

csv - 更改 Gnumeric 文本导入导出默认设置

python - 将数据从 neo4j 导出到 csv 而不是 json

python - 如何放大子图matplotlib?

python - 调整日期列(填补日期空白并更新至特定日期)

java - 如何在之前不知道类的情况下使用 CSV HeaderColumnNameTranslateMappingStrategy

python - 解析 Pandas 中的大字符串值

python - CSV 字符串到 Python 中的 JSON