如何从Python中的元组中提取值?

时间:2015-11-11 17:04:26

标签: python regex datetime

您好我有以下内容;

A =
((248500353L,
  11,
  '4',
  '248741302',
  633,
  7321L,
  7321L,
  'EAD4083003',
  0,
  datetime.datetime(2011, 4, 19, 23, 0, 42),
  datetime.datetime(2011, 4, 19, 23, 1, 39)),)

我想提取逗号之间的所有值并保留日期格式。我正在做的是以下内容:

An =  re.findall(r'\d+', str(A))

返回A中存在的所有整数,但这样我就丢失了有关日期格式的信息。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如前所述A已经是Python元组,不需要先将其转换为字符串并尝试使用正则表达式进行解析。

如果您尝试将此数据写入CSV文件,则可以按如下方式直接编写元组:

import datetime 
import csv

A = ((248500353L,
    11,
    '4',
    '248741302',
    633,
    7321L,
    7321L,
    'EAD4083003',
    0,
    datetime.datetime(2011, 4, 19, 23, 0, 42),
    datetime.datetime(2011, 4, 19, 23, 1, 39)),)

with open('output.csv', 'wb') as f_output:  
    csv_output = csv.writer(f_output)
    csv_output.writerow(A[0])

这会给你一个输出文件,如:

248500353,11,4,248741302,633,7321,7321,EAD4083003,0,2011-04-19 23:00:42,2011-04-19 23:01:39

在这种情况下,这些不需要首先尝试并提取所有条目。如果您需要更好地控制日期格式,则可以轻松添加。这里它使用默认转换为字符串格式。

虽然假设您希望输出所有字段。