相关疑难解决方法(0)

是否可以强制Excel自动识别UTF-8 CSV文件?

我正在开发一个应用程序的一部分,负责将一些数据导出到CSV文件中.该应用程序始终使用UTF-8,因为它在各个层面都具有多语言特性.但是在Excel中打开这样的CSV文件(包含例如变音符号,西里尔字母,希腊字母)并没有达到预期的结果?„/?¤, ?–/?¶.而且我不知道如何强制Excel理解打开的CSV文件是用UTF-8编码的.我也尝试过指定UTF-8 BOM EF BB BF,但Excel忽略了这一点.

有没有解决方法?

PS哪些工具可能像Excel一样?


UPDATE

我不得不说,我把社区与问题的表述混为一谈.当我提出这个问题的时候,我想要一种在Excel中打开UTF-8 CSV文件的方法,而不会给用户带来任何问题,而且流畅透明.但是,我使用了错误的配方要求自动执行此操作.这非常令人困惑,它与VBA宏自动化发生冲突.这个问题有两个我最欣赏的答案:Alex /sf/answers/420163691/的第一个答案,我接受了这个答案; 第二个是由Mark /sf/answers/454164931/稍后出现的.从可用性的角度来看,Excel似乎缺乏良好的用户友好型UTF-8 CSV支持,因此我认为这两个答案都是正确的,我首先接受了Alex的答案,因为它确实表明Excel无法做到这是透明的.这就是我在这里自动混淆的.Mark的答案为更高级的用户提供了一种更复杂的方式来实现预期的结果.这两个答案都很棒,但亚历克斯的答案更符合我未明确指出的问题.


更新2

五个月后,在最后一次编辑之后,我注意到Alex的答案因某种原因消失了.我真的希望这不是一个技术问题,我希望现在不再讨论哪个答案更大.所以我接受马克的答案是最好的答案.

csv excel utf-8

412
推荐指数
12
解决办法
46万
查看次数

如何使用BeautifulSoup正确地将UTF-8编码的HTML解析为Unicode字符串?

我正在运行一个Python程序,它获取一个UTF-8编码的网页,我使用BeautifulSoup从HTML中提取一些文本.

但是,当我将此文本写入文件(或在控制台上打印)时,它将以意外编码形式写入.

示例程序:

import urllib2
from BeautifulSoup import BeautifulSoup

# Fetch URL
url = 'http://www.voxnow.de/'
request = urllib2.Request(url)
request.add_header('Accept-Encoding', 'utf-8')

# Response has UTF-8 charset header,
# and HTML body which is UTF-8 encoded
response = urllib2.urlopen(request)

# Parse with BeautifulSoup
soup = BeautifulSoup(response)

# Print title attribute of a <div> which uses umlauts (e.g. können)
print repr(soup.find('div', id='navbutton_account')['title'])
Run Code Online (Sandbox Code Playgroud)

运行它会得到结果:

# u'Hier k\u0102\u015bnnen Sie sich kostenlos registrieren und / oder einloggen!'
Run Code Online (Sandbox Code Playgroud)

但我希望Python Unicode字符串ö在单词中呈现können\xf6:

# …
Run Code Online (Sandbox Code Playgroud)

python unicode urllib2 beautifulsoup utf-8

25
推荐指数
1
解决办法
7万
查看次数

使用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万
查看次数

标签 统计

csv ×2

python ×2

utf-8 ×2

beautifulsoup ×1

excel ×1

unicode ×1

urllib2 ×1