python如何读取csv文件列表页_Python:使用列表列表读取CSV文件的字段

我只是想知道如何从具有下一个结构的CVS文件中读取特殊字段:

40.0070222,116.2968604,2008-10-28,[["route"], ["sublocality","political"]]

39.9759505,116.3272935,2008-10-29,[["route"], ["establishment"], ["sublocality", "political"]]

阅读cvs文件的方式我曾经使用过:

with open('routes/stayedStoppoints', 'rb') as csvfile:

spamreader = csv.reader(csvfile, delimiter=',', quotechar='"')

问题是前3个字段没问题我可以使用:

for row in spamreader:

row [0],row [1],row [2]我可以正常访问.但在最后一个字段中,我猜这与csv.reader(csvfile,delimiter =’,’,quotechar =’“’)也分开为每个子列表:

所以,当我试图访问只是告诉我:

[["route"]

任何人都有一个解决方案来处理最后一个字段有一个完整列表(确实列表列表)

[["route"], ["sublocality","political"]]

为了能够访问每个类别.

谢谢

解决方法:

你的格式接近于json.您只需将每一行括在括号中,并引用日期.

对于每一行我只做:

lst=json.loads(re.sub('([0-9]+-[0-9]+-[0-9]+)',r'"\1"','[%s]'%(l)))

结果是

[40.0070222, 116.2968604, u'2008-10-28', [[u'route'], [u'sublocality', u'political']]]

您需要导入json解析器和正则表达式

import json

import re

编辑:您询问了如何访问包含’route’的元素.答案是

lst[3][0][0]

‘政治’在

lst[3][1][1]

如果字符串(‘political’和其他字符串)可能包含类似日期的字符串,则应该使用@unutbu的解决方案

标签:python,csv,list

来源: https://codeday.me/bug/20190529/1177909.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值