Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中从元组中提取值?_Python_Regex_Datetime - Fatal编程技术网

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

如何在Python中从元组中提取值?,python,regex,datetime,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+', s

你好,我有以下内容

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中存在的所有整数,但通过这种方式,我丢失了有关日期格式的信息。有什么建议吗?

如前所述,
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
在这种情况下,无需首先尝试提取所有条目。如果您需要对日期格式进行更好的控制,那么可以很容易地添加它。在这里,它使用默认的字符串格式转换


不过,它确实假设您希望输出所有字段。

我想第一个问题是您从哪里获得格式的,您能有更有用的内容吗?我不理解您的问题。我想提取逗号之间的所有值,保留最后两个条目的日期格式。我的问题是,你为什么要解析它?您似乎拥有一些Python对象的字符串形式——它来自哪里?你能得到真实的物体吗?还是安排一种更容易解析的格式?这项任务的目的是什么?另外,请注意你的标题是没有意义的。这看起来像一个包含完全可用的数据元组的单元素元组。您知道如何索引或解包元组吗?源数据文本(或包含文本的文件)是否采用这种格式?