我以以下方式使用csv模块
header = '"Id","IsDeleted","MasterRecordId","Salutation","FirstName","LastName","Name","Type","RecordTypeId","ParentId","BillingStreet","BillingCity","BillingState","BillingPostalCode","BillingCountry","BillingLatitude"'
header_c = csv.reader(header, delimiter=',', quotechar='"')
names = []
for row in header_c:
names.append(row)
检查名称返回:
^{pr2}$我可以忽略所有奇怪的条目,保留0,2,4,…,但我不明白我做错了什么,为什么 逗号作为条目保留。我要做些什么才能去掉逗号呢IsDeleted'应该是第二个条目(names[1])
提前谢谢。在
csv.reader()
可以处理任何iterable,并期望该iterable上的每次迭代都生成一个完整的行。iterable可以是一个类似文件的对象,或者(通常)一个字符串列表:如果只传入一个字符串对象,则字符串本身将被迭代,就像每个字符都是一行一样,但是由于引号,
csv
将继续读取'lines',直到找到右引号字符。在下一个'line'包含一个逗号,两个空值。在
或者,以前5个字符(
"Id",
)为例,csv
执行以下操作:"
。这是一个带引号的值,所以包括行尾的所有内容。在I
,追加。在d
,追加。在"
。引号结束,生成一个完整的行['Id']
。在,
。这是一个带有分隔符的完整行,因此要生成['', '']
。在每当我需要将字符串值传递给} ;此方法将始终返回一个列表,因此这也适用于没有换行符的行:
^{pr2}$csv.reader()
时,我使用^{我在换行符中保留(传入};带新行的引号将正确返回,并包含新行。在
True
到{您应该将类似文件的对象(或任何其他iterable)作为第一个参数传递给csv.reader。在
一种选择是将字符串读入
StringIO
缓冲区:然后,在名字里,你会得到:
^{pr2}$相关问题 更多 >
编程相关推荐