Python 如何解析此unicode字符串列表
我希望将此unicode字符串列表解析为一个表:Python 如何解析此unicode字符串列表,python,unicode,Python,Unicode,我希望将此unicode字符串列表解析为一个表: [u'$760,507,625 (USA) (18 November 2010)', u'$760,505,847 (USA) (14 November 2010)', u'$760,462,559 (USA) (7 November 2010)', u'$760,410,799 (USA) (31 October 2010)', 所以我想要的结果是: [[760507625, 11, 18, 2010, 'USA'], [76050584
[u'$760,507,625 (USA) (18 November 2010)', u'$760,505,847 (USA) (14 November 2010)', u'$760,462,559 (USA) (7 November 2010)', u'$760,410,799 (USA) (31 October 2010)',
所以我想要的结果是:
[[760507625, 11, 18, 2010, 'USA'],
[760505847, 11, 7, 2010, 'USA'],
....
]
如您所见,格式为[货币、月、日、年、国家]
也许你能给我提供处理这个问题的工具。
我说清楚了吗?非常感谢 我通常的处理方法是使用正则表达式从每行中提取字段,然后为每个字段提取一两行,将其转换为所需的格式。这并不是万无一失的,例如,如果一行中有一个月拼写错误的条目,它就会崩溃,但对于大多数临时任务来说,这已经足够了
#!/usr/bin/env python2.7
import re
data = [u'$760,507,625 (USA) (18 November 2010)',
u'$760,505,847 (USA) (14 November 2010)',
u'$760,462,559 (USA) (7 November 2010)',
u'$760,410,799 (USA) (31 October 2010)',
'blah']
RE_DATA = re.compile(r'^\$([0-9,]+) \(([A-Z]+)\) \(([0-9]+) ([A-Za-z]+) ([0-9]+)\)$')
MONTHS = {
'January': 1,
'February': 2,
'March': 3,
'April': 4,
'May': 5,
'June': 6,
'July': 7,
'August': 8,
'September': 9,
'October': 10,
'November': 11,
'December': 12
}
for entry in data:
match = RE_DATA.match(entry)
if match is None:
print 'Error! %r did not match pattern' % entry
continue
amount, country, day, month, year = match.groups()
amount = int(amount.replace(',', ''))
country = str(country)
day = int(day)
month = MONTHS[month]
year = int(year)
print [amount, month, day, year, country]
印刷品:
[760507625, 11, 18, 2010, 'USA']
[760505847, 11, 14, 2010, 'USA']
[760462559, 11, 7, 2010, 'USA']
[760410799, 10, 31, 2010, 'USA']
Error! 'blah' did not match pattern
告诉别人总是很重要的,包括任何失败尝试的片段,这样他们就能理解你错过了什么。这一点很重要,因为它激励人们回答问题,这一点很重要,因为它使人们更容易给出高质量、相关的答案。就目前的状况而言,这一目标尚未实现。如果您编辑问题,可能会阻止问题被关闭,并且您得到的答案的数量、质量和清晰度也会提高。是的。你是对的。我是Python新手。所以我不知道这次该试什么谢谢!这正是我需要的。FWIW,更容易构建月名目录,等等,你可以从
日历中获得月名列表。month_name
,它还有一个工作日名称列表,并且月名和工作日名称都有缩写形式。您也可以通过使用datetime().strftime()
来获得这样的列表,但是使用日历模块更干净,IMHO。(我想日历使用了隐藏的日期时间)。这两个模块都是区域设置感知的,非常方便。