python csv文件复制时的编码问题_使用python读取CSV文件时的编码问题
尝试使用python读取CSV文件时遇到障碍。
更新:如果只想跳过字符或错误,可以打开文件,如下所示:
with open(os.path.join(directory, file), 'r', encoding="utf-8", errors="ignore") as data_file:
到目前为止,我已经尝试过了。
for directory, subdirectories, files in os.walk(root_dir):
for file in files:
with open(os.path.join(directory, file), 'r') as data_file:
reader = csv.reader(data_file)
for row in reader:
print (row)
我得到的错误是:
UnicodeEncodeError: 'charmap' codec can't encode characters in position 224-225: character maps to
我试过了
with open(os.path.join(directory, file), 'r', encoding="UTF-8") as data_file:
错误:
UnicodeEncodeError: 'charmap' codec can't encode character '\u2026' in position 223: character maps to
现在,如果我只打印data_file,它说它们是cp1252编码的,但是如果我尝试
with open(os.path.join(directory, file), 'r', encoding="cp1252") as data_file:
我得到的错误是:
UnicodeEncodeError: 'charmap' codec can't encode characters in position 224-225: character maps to
我也尝试了推荐的套餐。
我得到的错误是:
UnicodeEncodeError: 'charmap' codec can't encode characters in position 224-225: character maps to
我要解析的行是:
2015-11-28 22:23:58,670805374291832832,479174464,"MarkCrawford15","RT @WhatTheFFacts: The tallest man in the world was Robert Pershing Wadlow of Alton, Illinois. He was slighty over 8 feet 11 inches tall.","None
任何想法或帮助表示赞赏。
解决方案
我将使用csvkit,它使用自动检测适当的编码和解码。例如
import csvkit
reader = csvkit.reader(data_file)
正如聊天解决方案所述,
for directory, subdirectories, files in os.walk(root_dir):
for file in files:
with open(os.path.join(directory, file), 'r', encoding="utf-8") as data_file:
reader = csv.reader(data_file)
for row in reader:
data = [i.encode('ascii', 'ignore').decode('ascii') for i in row]
print (data)
python csv文件复制时的编码问题_使用python读取CSV文件时的编码问题相关推荐
- python带格式复制excel样式和内容_使用python的xlrd,xlwt和xlutils.copy保留样式
以下是我将作为针对xlutils 1.4.1的补丁提出的代码使用示例# coding: asciiimport xlrd, xlwt# Demonstration of copy2 patch for ...
- copy所有的java文件到硬盘_将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad...
listFiles方法接受一个FileFilter对象,这个FileFilter对象就是过虑的策略对象,不同的人提供不同的FileFilter实现,即提供了不同的过滤策略. //将d:\java目录下 ...
- 将d:\java目录下的所有.java文件复制到d:\jad 目录下,并将原来文件的扩展名从.java 改为.jad
package com;import java.io.*; import java.util.ArrayList; import java.util.List; /* 编写一个程序,将d:\java目 ...
- 编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad
package com.hbut.test; import java.io.File; import java.io.FileNotFoundException; import java.io.Fil ...
- Java算法面试题:编写一个程序,将e:\neck目录下的所有.java文件复制到e:\jpg目录下,并将原来文件的扩展名从.java改为.jpg...
package com.swift;import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; im ...
- .shp文件的存储结构是怎样的?底层读取shapefile文件
.shp文件的存储结构是怎样的?底层读取shapefile文件 基础知识 shp的存储结构 python 字节流读取Shp文件 基础知识 大家都比较熟悉shp文件,它是GIS软件可以读取的矢量文件.但 ...
- python写入csv文件时携带双引号_在Python中解析csv时由于双引号导致的问题.
我有以下格式的csv文件, "1";"A";"A:"61 B & BA";"C" 以下是我读取csv文 ...
- python 字符编码处理_浅析Python 字符编码与文件处理
Python字符编码 目前计算机内存的字符编码都是Unicode,目前国内的windows操作系统采用的是gbk. python2默认的字符编码方式是ASCII python3默认的字符编码方式是Un ...
- python打开中文文本utf-8用不了_关于Python文档读取UTF-8编码文件问题
近来接到一个小项目,读取目标文件中每一行url,并逐个请求url,拿到想要的数据. #-*- coding:utf-8 -*- classIpUrlManager(object):def __init ...
最新文章
- jupyter怎么调字体_AJ里最低调的系列之一:Air Jordan 3
- push、pop指令
- 代码质量与规范,那些年你欠下的技术债
- 运行SSIS包的几种方式
- 深入Redis 主从复制原理
- 基于matlab的图解粒度参数计算,基于MATLAB的图解粒度参数计算-热带地理.PDF
- xml文件中若没有子节点,则删除文件
- swift 静态库、动态库
- 极具破坏力的Linux系统命令
- LeetCode刷刷记录
- ISO27001认证适用领域及认证流程
- XMPP即时通讯协议使用(前传)——协议详解
- 判断ssh远程命令是否执行结束
- markdown中插入emoji表情方法总结,让你尽情使用表情符号
- 【编译原理】-- 第二章(三)(文法的化简改造、无用产生式、产生式的消除、文法的其他表示方法、例题)
- 吴恩达深度学习课件和课后习题
- 钉钉考勤接口调用与OA系统数据对接
- Rook下快速部署ceph分布式文件系统
- 有限个无穷小的乘积也是无穷小
- excel报表导入失败问题记录