Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从包含unicode字符的csv文件导出数据

从包含unicode字符的csv文件导出数据
EN

Stack Overflow用户
提问于 2013-05-14 21:13:44
回答 3查看 1.6K关注 0票数 1

我想从包含unicode字符串的csv文件中导出数据。

以前,我尝试过一个Python脚本,它只适用于ASCII数据。但它也不支持unicode:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#! /usr/bin/env python
import csv
csv.register_dialect('custom',delimiter=','
                     doublequote=True,
                     escapechar=None,
                     quotechar='"',
                     quoting=csv.QUOTE_MINIMAL, skipinitialspace=False)
with open('input.csv') as ifile:
 data = csv.reader(ifile, dialect='custom')
 for record in data:
  for i, field in enumerate(record):
   print (" <field%s>" % i + field + "</field%s>" % i)

回溯(最近一次调用):用于数据中的记录:_csv.Error: line包含空字节

EN

回答 3

Stack Overflow用户

发布于 2013-05-14 22:09:25

改为使用此unicode-csv库。

https://github.com/jdunck/python-unicodecsv

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import unicodecsv as csv

with open('input.csv') as ifile:
  rows = [row for row in csv.reader(ifile, encoding='utf-8')]

print rows
票数 2
EN

Stack Overflow用户

发布于 2013-05-14 23:22:00

您可以将csv.reader包装在类中,以便为您处理它。以下内容摘自csv文档示例并为我工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#! /usr/bin/env python
import csv, codecs

class UTF8Recoder:
    """
    Iterator that reads an encoded stream and reencodes the input to UTF-8
    """
    def __init__(self, f, encoding):
        self.reader = codecs.getreader(encoding)(f)

    def __iter__(self):
        return self

    def next(self):
        return self.reader.next().encode("utf-8")

class UnicodeReader:
    """
    A CSV reader which will iterate over lines in the CSV file "f",
    which is encoded in the given encoding.
    """

    def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):
        f = UTF8Recoder(f, encoding)
        self.reader = csv.reader(f, dialect=dialect, **kwds)

    def next(self):
        row = self.reader.next()
        return [unicode(s, "utf-8") for s in row]

    def __iter__(self):
        return self




csv.register_dialect('custom', delimiter=',',
                     doublequote=True,
                     escapechar=None,
                     quotechar='"',
                     quoting=csv.QUOTE_MINIMAL, skipinitialspace=False)

with open('input.csv') as ifile:
 data = UnicodeReader(ifile, dialect='custom')
 for record in data:
  for i, field in enumerate(record):
   print (" <field%s>" % i + field + "</field%s>" % i)

如果您需要该功能,也有一个UnicodeWriter类。

票数 1
EN

Stack Overflow用户

发布于 2013-05-15 00:07:09

似乎您正在使用Python3。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/env python3
import csv

with open('input.csv', newline='', encoding=encoding) as csvfile:
    reader = csv.reader(csvfile, dialect="custom")
    for row in reader:
        print(", ".join(row))

问题中的代码定义了“自定义”方言,而encoding是文件的字符编码,如"utf-16“。使用的是

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16557357

复制
相关文章
php 处理大数据导出csv文件
最近公司要用到客户导入导出,导入由于是要给客户用户,需要下载报表,所以导入采用phpexecl来处理表格,说实话,小量数据还可以接受,数据一上千,上万,机器配置性能不好,直接挂的节奏,特别涉及到多表数据查询,业务复杂,你的性能会越低 导入的话,总结了以下,优化了。第一,不要在循环中使用sql,不要一条条导数据,要想办法最后拼装成一条sql执行插入,你想下,你要导入1万条数据,你执行1万条sql和1条sql的区别是很大的。 今天主要说的是导出,如果你要导出大量数据,业务逻辑复杂的话,建议csv导出,缺点是没有
美团骑手
2021/12/24
2.3K0
数据库分批导出为csv文件
boss需要1500万个手机号码,导出为excel文件 由于数量太大,直接存一个文件,打开电脑会直接卡死。 需要分为15批,每批100万。 可以手工在navicat软件上面运行,根据MySQL分页公式 (page-1)*page_size,page_size 也即是(当前分页-1)*每页数量,每页数量 示例sql: select mobile from tbl_sms LIMIT 0,1000000 第二页 select mobile from tbl_sms LIMIT 1000000,1000000 .
py3study
2018/08/02
2.9K0
Elasticsearch使用:索引数据导出为CSV文件
这样我们的 Elasticsearch 中就会有我们的 eCommerce 索引了。
HLee
2021/01/19
3.3K0
Elasticsearch使用:索引数据导出为CSV文件
csv文件导出注意事项
默认情况下,在windows上用excel打开csv文件时,并不是按utf-8码解析的,就算代码里设置了写入字符串为utf-8字符集,也可能乱码。
菩提树下的杨过
2020/06/24
1.4K0
MongoDB导出csv格式数据
第一步: 在cmd中进入mongodb的安装目录下的bin文件夹 C:\Users\zzz>cd C:\Program Files\MongoDB\Server\4.0\bin 第二步: 从MongoDB导出csv格式数据 mongoexport --host localhost --db IP_cool -c standby --csv -f ip,port,anony_type,address,test_count,success_rate -o C:\Users\kzb\Deskt
K同学啊
2019/01/22
3.7K0
如何把Elasticsearch中的数据导出为CSV格式的文件
本文结合用户实际需求用按照数据量从小到大的提供三种方式从ES中将数据导出成CSV形式。本文将重点介Kibana/Elasticsearch高效导出的插件、工具集,通过本文你可以了解如下信息:
南非骆驼说大数据
2020/06/07
26.6K0
java怎么解决导出csv文件乱码
将查询的数据以xls文件导出时(UTF-8编码),数据正常;但以CSV文件导出时,文件中的中文乱码,同样是UTF-8编码,改成GBK编码导出时,中文显示正常。
Java架构师必看
2021/12/21
4.4K0
Elasticsearch:如何把 Elasticsearch 中的数据导出为 CSV 格式的文件
本教程向您展示如何将数据从 Elasticsearch 导出到 CSV 文件。 想象一下,您想要在 Excel 中打开一些 Elasticsearch 中的数据,并根据这些数据创建数据透视表。 这只是一个用例,其中将数据从 Elasticsearch 导出到 CSV 文件将很有用。
腾讯云大数据
2020/09/10
6.6K0
Elasticsearch:如何把 Elasticsearch 中的数据导出为 CSV 格式的文件
从csv文件中导入数据到Postgresql
从csv文件中导入数据到Postgresql已有表中,如果数据已经存在则更新,如果不存在则新建记录。 根据csv文件格式,先在postgresql中建立临时表:
fanzhh
2019/08/20
4.5K0
导出CSV格式
/** * 导出数据格式为csv */ function export_to_csv($data = array(), $title = array(), $filename=null) { if(empty($filename)) { $filename = date('Ymd'); } header("Content-type:text/csv"); header("Accept-Ranges:bytes"); header("Content
苦咖啡
2018/04/28
1.9K0
php导出csv
function export_csv($filename,$data) {      header("Content-type:text/csv");      header("Content-Disposition:attachment;filename=".$filename);      header('Cache-Control:must-revalidate,post-check=0,pre-check=0');      header('Expires:0');      header('Pr
Kunkka Wu
2022/01/13
1.4K0
javascript中js实现导出CSV文件功能
js直接在页面中将数组导出到CSV文件之中 //数组导出CSV文件 function exportCSV(jsonData,fileName){ if(!jsonData || jsonData.length==0){ return; } if(!fileName){ fileName="exportCSV.csv"; } let one=jsonData[0]; let csvText=""; for(let key
唯一Chat
2022/11/22
3.3K0
matlab导出csv文件多种方法实现
R,C分别表示写入的行数R和列数C,并且左上角被认为是(0,0)csvwrite('1.csv',data)
演化计算与人工智能
2020/08/14
7.9K0
matlab导出csv文件多种方法实现
Python统计汇总Grafana导出的csv文件到Excel
原始文件是多个csv表格,第一列为时间戳,每10分钟统计生成一行,其余列为ip地址在该时间段内的访问次数
公众号: 云原生生态圈
2021/05/11
4K0
Python统计汇总Grafana导出的csv文件到Excel
关于Oracle导出到csv文件的脚本-spool方法
Oracle就是这么牛,从外部文件导入到Oracle中有N种方法,想把Oracle的数据导出成通用文件的方法却不多,梳理下来大致有三种办法:
python与大数据分析
2022/03/11
3K0
关于Oracle导出到csv文件的脚本-spool方法
vue.js纯前端处理如何将后台返回来的csv数据导出成csv文件
需要实现一个下载csv文件的功能,但后台没有对这个下载文件进行处理,而是将csv数据传给前台而已,需要前台做一下处理。
朱季谦
2019/09/18
6.6K0
vue.js纯前端处理如何将后台返回来的csv数据导出成csv文件
ThinkPHP导出CSV、Excel
如题,我们在实际中EXCEL的导出比导入用的多,这里给大家分享一个导出CSV EXCEL导出,简单,方便。 首先我们在Thinkphp/Library/Think下新文件文件:Csv.class
似水的流年
2018/01/18
2.2K0
ThinkPHP导出CSV、Excel
如题,我们在实际中EXCEL的导出比导入用的多,这里给大家分享一个导出CSV EXCEL导出,简单,方便。
似水的流年
2019/12/04
1.3K0
LINQ 从 CSV 文件生成 XML
本文参考:http://msdn.microsoft.com/zh-cn/library/bb387090.aspx
跟着阿笨一起玩NET
2018/09/19
1.3K0
关于Oracle导出到csv文件的脚本-Python程序方法
cx_Oracle 是一个用户访问 Oracle 数据库的 Python 扩展模块。它符合Python数据库API 2.0规范,并增加了相当多的内容和几个排除项。
python与大数据分析
2022/03/11
1.6K0
关于Oracle导出到csv文件的脚本-Python程序方法

相似问题

将unicode数据导出到CSV文件

22

从csv文件读取unicode字符

34

使用OpenCSV解析包含Unicode字符的CSV文件

10

用unicode字符从mysql导出数据

14

通过PowerShell将Unicode字符从SQL导出到CSV。

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文