相关疑难解决方法(0)

(unicode错误)'unicodeescape'编解码器无法解码2-3位的字节:截断\ UXXXXXXXX转义

我正在尝试将.csv文件读入Python(Spyder)但我一直收到错误.我的代码:

import csv

data = open("C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener")
data = csv.reader(data)  
print(data)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

SyntaxError :( unicode错误)'unicodeescape'编解码器无法解码2-3位的字节:截断\ UXXXXXXXX转义

我试图用\替换\或用/和我试图在"C ..之前放一个r ..但所有这些东西都不起作用.

python csv unicode syntax-error

141
推荐指数
8
解决办法
42万
查看次数

Python 2.6中对csv文件的一般Unicode/UTF-8支持

当涉及UTF-8/Unicode时,Python中的csv模块无法正常工作.我在Python文档和其他网页上找到了适用于特定情况的片段,但您必须了解您正在处理的编码并使用相应的代码段.

如何从Python 2.6中"正常工作"的.csv文件中读取和写入字符串和Unicode字符串?或者这是Python 2.6的限制,没有简单的解决方案?

python csv unicode utf-8 python-2.x

43
推荐指数
4
解决办法
3万
查看次数

在Python中使用UTF-8 CSV输入时出现问题

这似乎应该是一个简单的解决方案,但到目前为止,我找不到解决方案.我有一个单列csv文件,其中非ascii字符保存在utf-8中,我想读入并存储在列表中.我试图遵循"Unicode三明治"的原则,并在读取文件时解码:

import codecs
import csv

with codecs.open('utf8file.csv', 'rU', encoding='utf-8') as file:
input_file = csv.reader(file, delimiter=",", quotechar='|')
list = []
for row in input_file:
    list.extend(row)
Run Code Online (Sandbox Code Playgroud)

这会产生恐惧'编解码器无法对位置编码,顺序不在范围(128)'错误.

我也尝试过这个答案的解决方案,它会返回一个类似的错误

def unicode_csv_reader(utf8_data, dialect=csv.excel, **kwargs):
    csv_reader = csv.reader(utf8_data, dialect=dialect, **kwargs)
    for row in csv_reader:
        yield [unicode(cell, 'utf-8') for cell in row]

filename = 'inputs\encode.csv'
reader = unicode_csv_reader(open(filename))
target_list = []
for field1 in reader:
    target_list.extend(field1)
Run Code Online (Sandbox Code Playgroud)

文档改编的非常类似的解决方案返回相同的错误.

def unicode_csv_reader(utf8_data, dialect=csv.excel):
    csv_reader = csv.reader(utf_8_encoder(utf8_data), dialect)
    for row in csv_reader:
        yield [unicode(cell, …
Run Code Online (Sandbox Code Playgroud)

python encoding utf-8

21
推荐指数
2
解决办法
2万
查看次数

使用无效字符(重音符号)将CSV文件读入Pandas Dataframe

我正在尝试将csv文件读入pandas数据帧.但是,csv包含重音符号.我使用的是Python 2.7

我遇到了一个UnicodeDecodeError因为第一列有重音.我已经在很多网站上阅读过这样的关于CSV文件中UTF-8的问题,这篇关于与新行相关的CSV错误的博客文章,以及关于Python 2.7中UTF-8问题的博客文章.

我使用了从那里找到的答案来尝试修改我的代码.原来我有:

import pandas as pd

#Create a dataframe with the data we are interested in
df = pd.DataFrame.from_csv('MYDATA.csv')
mode = lambda ts: ts.value_counts(sort=True).index[0]
cols = df['CompanyName'].value_counts().index
df['Calls'] = df.groupby('CompanyName')['CompanyName'].transform(pd.Series.value_counts)
Run Code Online (Sandbox Code Playgroud)

Excetera.它工作,但现在传递"NÍ"和"Nê"作为客户名称给出错误:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xea in position 7: invalid continuation byte
Run Code Online (Sandbox Code Playgroud)

我尝试将行更改为df = pd.read_csv('MYDATA.csv',encoding ='utf-8')但这会产生相同的错误.

所以我从研究发现的建议中尝试了这个,但它也没有用,我得到了同样的错误.

import pandas as pd
import csv

def unicode_csv_reader(utf8_data, dialect=csv.excel, **kwargs):
    csv_reader = csv.reader(utf8_data, dialect=dialect, **kwargs)
    for row in csv_reader: …
Run Code Online (Sandbox Code Playgroud)

python csv utf-8 dataframe pandas

5
推荐指数
1
解决办法
2650
查看次数

使用Python处理CSV中的非标准美国英语字符和符号

我有一个商店名称列表,有几千个名字,其中一些有非标准的美国英语字符,这些都是一个问题.

例如,我的输入文件如下所示:

store_name
yéché
Ázak
ótndle
Run Code Online (Sandbox Code Playgroud)

我希望输出文件实际上看起来像这样(我认为Googledocs实现了这一点,顺便说一句):

store_name  new_store_name 
yéché       yéché
Ázak        Ãzak
ótndle      ótndle 
Run Code Online (Sandbox Code Playgroud)

只有大约10个这样的规则将非标准的美国英语字符转换成这种格式,所以我经历并在excel中控制f来制作它们.但我希望将来能够以计算方式完成这样的事情,并且只是想知道是否有使用Python的快速方法.要清楚,我想做的是:

é become é
Á become Ãi
Run Code Online (Sandbox Code Playgroud)

python csv

4
推荐指数
2
解决办法
3万
查看次数

我想使用python27读取csv文件,但出现类似“ TypeError的错误:'encoding'是此函数的无效关键字参数”

这是我的代码:

import csv
file  = open('traintag1.csv','r',encoding='utf-8')
csv_reader = csv.reader(file)
for row in csv_reader:
    print row[-2]
Run Code Online (Sandbox Code Playgroud)

然后遇到类似标题的错误:

file = open('traintag1.csv','r',encoding ='utf-8')TypeError:“ encoding”是此函数的无效关键字参数”

我想使用'encoding ='utf-8',因为当文件装满中文时,在读取文件以在屏幕上打印后,单词是乱七八糟的。当我from io import open在头上添加另一条线时,再次出现如下错误:

UnicodeDecodeError:'utf8'编解码器无法解码位置29的字节0xbb:无效的起始字节

python csv encoding python-2.7

4
推荐指数
1
解决办法
3969
查看次数

读取UTF8编码的CSV并转换为UTF-16

我正在读取具有UTF8编码的CSV文件:

ifile = open(fname, "r")
for row in csv.reader(ifile):
    name = row[0]
    print repr(row[0])
Run Code Online (Sandbox Code Playgroud)

这很好用,并打印出我希望它打印出来的东西; UTF8编码str:

> '\xc3\x81lvaro Salazar'
> '\xc3\x89lodie Yung'
...
Run Code Online (Sandbox Code Playgroud)

此外,当我只是打印str(而不是repr())输出显示确定(我不明白 - 这不应该导致错误吗?):

> Álvaro Salazar
> Élodie Yung
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将我的UTF8编码转换strsunicode:

ifile = open(fname, "r")
for row in csv.reader(ifile):
    name = row[0]
    print unicode(name, 'utf-8')  # or name.decode('utf-8')
Run Code Online (Sandbox Code Playgroud)

我得到了臭名昭着的:

Traceback (most recent call last):                                       
File "scripts/script.py", line 33, in <module>
    print unicode(fullname, 'utf-8')
UnicodeEncodeError: 'ascii' codec can't encode …
Run Code Online (Sandbox Code Playgroud)

python csv unicode encoding utf-8

2
推荐指数
1
解决办法
1819
查看次数

python中的unicodecsv阅读器出现问题

我在使用unicodecsv阅读器时遇到问题。我一直在寻找有关如何使用该模块的不同示例,但是每个人都在不断引用unicodecsv网站(或一些类似的变体)中的确切示例。

import unicodecsv as csv
from io import BytesIO
f = BytesIO()
w = csv.writer(f, encoding='utf-8')
_ = w.writerow((u'é', u'ñ'))
_ = f.seek(0)
r = csv.reader(f, encoding='utf-8')
next(r) == [u'é', u'ñ']
>>> True
Run Code Online (Sandbox Code Playgroud)

对我来说,这个例子对我们的理解做出了太多假设。看起来好像没有传递csv文件。我完全错过了情节。

我想做的是:

  1. 读取csv文件的第一行,它们是标题
  2. 阅读剩余的几行并将其放入字典中

我的断码:

import unicodecsv
#
i = 0
myCSV = "$_input.csv"
dic = {}
#
f = open(myCSV, "rb")
reader = unicodecsv.reader(f, delimiter=',')
strHeader = reader.next()
#
# read the first line of csv
# use custom function to parse the header
myHeader = …
Run Code Online (Sandbox Code Playgroud)

python csv unicode

0
推荐指数
1
解决办法
6136
查看次数