标签: python-unicode

将pandas df写入csv时出现Unicode编码错误

我清理了400个excel文件并使用pandas将它们读入python并将所有原始数据附加到一个大df中.

然后,当我尝试将其导出到csv时:

df.to_csv("path",header=True,index=False)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xc7' in position 20: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

有人可以建议一种方法来解决这个问题及其意义吗?

谢谢

python export-to-csv pandas python-unicode

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

正确地从python中的Windows-1252(cp1252)文件中读取文本

好吧,因为标题表明我遇到的问题是正确地从python中的Windows-1252编码文件中读取输入并将所述输入插入到SQLAlchemy-MySql表中.

当前系统设置:
带有"Roger访问控制系统"的Windows 7 VM,用于输出文件;
Ubuntu 12.04 LTS VM具有Windows系统的共享文件夹,因此我可以使用"Python 2.7.3"访问该文件.

现在针对实际问题,对于输入文件,我有一个"VM共享文件夹",其中包含通过Roger访问控制系统(roger.pl获取更多详细信息)在Windows 7系统上生成的文件,此文件称为" PREvents.csv"暗示它的内容,";" 分离的数据清单.

数据的示例格式:

2013-03-19;15:58:30;100;J?nis;Dumburs;1;Uznemums1;0;Ieeja;
2013-03-19;15:58:40;100;J?nis;Dumburs;1;Uznemums1;2;Izeja;
Run Code Online (Sandbox Code Playgroud)

第4个字段包含卡所有者名称,第5个字段包含所有者姓氏,第6个字段包含所有者分配的组.

问题来自于上述3个字段中的任何一个都可以包含特定于拉脱维亚语言的字符,在示例文件中,单词"Jānis"包含字母"ā",其在unicode中为257.

就像我习惯的那样,我打开文件:

try:
    f = codecs.open(file, 'rb', 'cp1252')
except IOError:
    f = codecs.open(file, 'wb', 'cp1252')
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切正常 - 它打开文件,所以我继续迭代文件的每一行(这是一个连续运行脚本,所以原谅循环):

while True:
    line = f.readline()

    if not line:
        # Pause loop for 1 second
        time.sleep(1)
    else:
        # Split the line into list
        date, timed, userid, firstname, lastname, groupid, groupname, typed, pointname, empty = line.split(';')
Run Code Online (Sandbox Code Playgroud)

这就是问题开始的地方,如果我print repr(firstname)打印的话u'J\xe2nis',就我而言,不正确 - "\ xe2 \"不代表拉脱维亚字符"ā". …

python utf-8 cp1252 windows-1252 python-unicode

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

UnicodeDecodeError:('utf-8'codec)在读取csv文件时

我正在尝试的是读取一个csv来创建一个数据帧---在列中进行更改---再次更新/反映更改的值到相同的csv(to_csv) - 再次尝试读取该csv以生成另一个数据帧...我收到一个错误

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe7 in position 7: invalid continuation byte
Run Code Online (Sandbox Code Playgroud)

我的代码是

 import pandas as pd
 df = pd.read_csv("D:\ss.csv")
 df.columns  #o/p is Index(['CUSTOMER_MAILID', 'False', 'True'], dtype='object')
 df['True'] = df['True'] + 2     #making changes to one column of type float
 df.to_csv("D:\ss.csv")       #updating that .csv    
 df1 = pd.read_csv("D:\ss.csv")   #again trying to read that csv

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe7 in position 7: invalid continuation byte
Run Code Online (Sandbox Code Playgroud)

所以请建议我如何避免错误并能够再次将该csv读取到数据帧.

我知道某处我在读取和写入csv时缺少"encode = some codec type"或"decode = some type".

但我不知道到底应该改变什么.所以需要帮助.

python utf-8 pandas python-unicode

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

python 2.7小写

当我.lower()在Python 2.7中使用时,字符串不会转换为小写字母Š?Ž.我从字典中读取数据.

我试过用str(tt["code"]).lower(),tt["code"].lower().

有什么建议 ?

python unicode lowercase python-2.7 python-unicode

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

在Python中解码和编码希伯来字符串

我正在尝试编码和解码希伯来字符串"שלום".然而,编码后,我得到了胡言乱语:

>>> word = "????"
>>> word = word.decode('UTF-8')
>>> word
u'\u05e9\u05dc\u05d5\u05dd'
>>> print word
????
>>> word = word.encode('UTF-8')
>>> word
'\xd7\xa9\xd7\x9c\xd7\x95\xd7\x9d'
>>> print word
?©??•?
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

谢谢.

python python-unicode

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

一些表情符号(例如☁)有两个unicode,u'\ u2601'和u'\ u2601\ufe0f'.你'ufe0f'是什么意思?如果我删除它是否相同?

我正在编写一个python程序,用一个收集的表情符号unicode设置判断表情符号.在测试过程中,我发现有一个表情符号,以?作为一个例子,有两个Unicode,u'\u2601'并且u'\u2601\ufe0f',这是什么\ufe0f意思?如果我删除它是否相同?

python emoji python-unicode

19
推荐指数
2
解决办法
3712
查看次数

TypeError:ufunc'sundract'不包含带签名匹配类型的循环dtype('<U1')dtype('<U1')dtype('<U1')

在尝试获取微小玩具数据集的直方图时,来自numpy的奇怪错误来自matplotlib.我只是不确定如何解释错误,这使得很难看到下一步该做什么.

虽然这个nltk问题和这个gdsCAD问题在表面上是相似的,但没有找到太多相关内容.

我打算在底部调试信息比驱动程序代码更有帮助,但如果我错过了什么,请询问.这可以作为现有测试套件的一部分重现.

        if n > 1:
            return diff(a[slice1]-a[slice2], n-1, axis=axis)
        else:
>           return a[slice1]-a[slice2]
E           TypeError: ufunc 'subtract' did not contain a loop with signature matching types dtype('<U1') dtype('<U1') dtype('<U1')

../py2.7.11-venv/lib/python2.7/site-packages/numpy/lib/function_base.py:1567: TypeError
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PDB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> py2.7.11-venv/lib/python2.7/site-packages/numpy/lib/function_base.py(1567)diff()
-> return a[slice1]-a[slice2]
(Pdb) bt
[...]
py2.7.11-venv/lib/python2.7/site-packages/matplotlib/axes/_axes.py(5678)hist()
-> m, bins = np.histogram(x[i], bins, weights=w[i], **hist_kwargs)
  py2.7.11-venv/lib/python2.7/site-packages/numpy/lib/function_base.py(606)histogram()
-> if (np.diff(bins) < 0).any():
> py2.7.11-venv/lib/python2.7/site-packages/numpy/lib/function_base.py(1567)diff()
-> return a[slice1]-a[slice2]
(Pdb) p numpy.__version__
'1.11.0'
(Pdb) p matplotlib.__version__
'1.4.3'
(Pdb) a
a …
Run Code Online (Sandbox Code Playgroud)

numpy matplotlib python-unicode

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

只包含ASCII字符的UNICODE字符串是否总是等于ASCII字符串?

我注意到以下情况:

>>> u'abc' == 'abc'
True
>>> 'abc' == u'abc'
True
Run Code Online (Sandbox Code Playgroud)

这总是正确的还是可能取决于系统区域设置?(似乎字符串在python 3中是unicode:例如这个问题,但2.x中的字节)

python unicode character-encoding python-2.7 python-unicode

17
推荐指数
1
解决办法
500
查看次数

Python 3:os.walk()文件路径UnicodeEncodeError:'utf-8'编解码器无法编码:不允许代理

这段代码:

for root, dirs, files in os.walk('.'):
    print(root)
Run Code Online (Sandbox Code Playgroud)

给我这个错误:

UnicodeEncodeError: 'utf-8' codec can't encode character '\udcc3' in position 27: surrogates not allowed
Run Code Online (Sandbox Code Playgroud)

如何在没有像这样的有毒字符串的情况下浏览文件树?

python unicode unicode-string python-3.x python-unicode

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

django国家编码没有给出正确的名称

我在django_countries国家列表中使用模块,问题是有几个国家有特殊字符'Åland Islands'和'Saint Barthélemy'.

我正在调用此方法来获取国家/地区名称:

country_label = fields.Country(form.cleaned_data.get('country')[0:2]).name
Run Code Online (Sandbox Code Playgroud)

我知道country_label是django utils的懒惰翻译代理对象,但它没有给出正确的名称,而是给出了它'Ã…land Islands'.对此有何建议?

python django python-unicode django-countries

14
推荐指数
1
解决办法
549
查看次数