Python csv字段中的新行字符
发布时间:2020-12-20 13:06:22 所属栏目:Python 来源:网络整理
导读:我有一个问题,读取一个刺分隔的csv文件,我认为在其中一个字段中有一个新的行字符.它强制行超过两行,所以我无法读取行的最后一个字段中的值.我尝试在新线模式下打开,但不确定最好的解决方法是什么. 这是我试图在python中读取文件的方式: csv.register_dialec
我有一个问题,读取一个刺分隔的csv文件,我认为在其中一个字段中有一个新的行字符.它强制行超过两行,所以我无法读取行的最后一个字段中的值.我尝试在新线模式下打开,但不确定最好的解决方法是什么.
这是我试图在python中读取文件的方式: csv.register_dialect('BB',delimiter='xfe') with open(file,'rU') as file_in: log=csv.reader(file_in,dialect='BB') for row in log: print row 这适用于大多数文件,但有一行我假设在其中一个字段中有一个新的行字符 – 我不确定如何诊断它.这是该行在记事本中的显示方式的屏幕截图,因为您可以看到它在两行上强制显示该行应该看起来像下面的两行. 使用csv.reader读取此行时,行如下所示: [’06 -13-2015-10:13:41′,’0′,”,’ 142′,’5′,’7.0′,’2′,’cmhkl966′,’amex_674′,’1′,’0.00′,”’] 即在第一个撇号时被截断. 解决方法
我稍微解决了你的问题(希望我抓住了问题的原因):
import io import csv file_in = io.StringIO(''' atbt'hello world' ''') log=csv.reader(file_in,delimiter='xfe',quotechar="'") for row in log: print(row) 输出: ['a','b','hellonworld'] 更新: 按照评论中的要求:这里是从文件中读取.csv的版本. test.csv的内容是: atbt'hello world'tc dtet'hello other things'tf gthtitj 和python代码: import csv from pathlib import Path HERE = Path(__file__).parent DATA_PATH = HERE / '../data/test.csv' with DATA_PATH.open('rU') as file_in: log=csv.reader(file_in,quotechar="'") for row in log: print(row) 哪个输出: ['a','hellonworld','c'] ['d','e','hellonothernthings','f'] ['g','h','i','j'] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |