我是Python的新手,我希望用它来解析文本文件.该文件具有以下格式的250-300行:
---- Mark Grey (mark.grey@gmail.com) changed status from Busy to Available @ 14/07/2010 16:32:36 ----
---- Silvia Pablo (spablo@gmail.com) became Available @ 14/07/2010 16:32:39 ----
Run Code Online (Sandbox Code Playgroud)
我需要将以下信息存储到该文件中所有条目的另一个文件(excel或文本)中
UserName/ID Previous Status New Status Date Time
Run Code Online (Sandbox Code Playgroud)
所以我的结果文件看起来应该是这样的
Mark Grey/mark.grey@gmail.com Busy Available 14/07/2010 16:32:36
Silvia Pablo/spablo@gmail.com NaN Available 14/07/2010 16:32:39
Run Code Online (Sandbox Code Playgroud)
提前致谢,
任何帮助将非常感激
我正在验证ASP.NET MVC3应用程序中复杂性的密码.我目前的要求是它必须包含至少一个大写字母,一个小写字母,一个数字和不超过三个重复字符.我想对这些数字进行概括,并为非字母数字字符添加条件.
目前,我只验证服务器端,因此我可以使用一个正则表达式为每个条件多次调用Regex.IsMatch.我希望能够验证客户端.因为不显眼的jQuery验证只允许一个正则表达式,我需要将所有五个条件组合成一个模式.
我对正则表达式的了解不多,但最近我一直在做一些阅读.我可能会遗漏一些简单的东西,但我无法找到一种方式将多个模式组合在一起 他们会.
我正在尝试创建一个验证英国日期格式的正则表达式.我有以下内容:
(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d
Run Code Online (Sandbox Code Playgroud)
这非常适合验证:09/12/2011.但如果日期是:2011年9月 12日,它将无法正确验证.是否有正则表达式允许我使用单个数字和两个数字作为日期部分?例如" 09 "和" 9 ".
大家好我在C#中使用Regex.match来逐行逐步调整文本文件.我发现当线条与模式不匹配时会花费更多时间(约2-4秒).但是比赛时花费的时间少于1秒.谁能告诉我如何改善表现?
这是我正在使用的正则表达式:
^.*?\t.*?\t(?<npk>\d+)\t(?<bol>\w+)\t.*?\t.*?\t.*?\t.*?\t.*?\t.*?\t.*?\t.*?\t.*?\t\s*(?<netValue>[\d\.,]+)\t.*?\t.*?\t(?<item>\d{6})\t(?<salesDoc>\d+)\t(?<acGiDate>[\d\.]{10})\t.*?\t.*?\t.*?\t.*?\t.*?\t(?<delivery>\d+)\t\s*(?<billQuantity>\d+)\t.*?\t(?<material>[\w\-]+)\tIV$
Run Code Online (Sandbox Code Playgroud) 请考虑以下Python代码:
>>> re.search(r'.*(99)', 'aa99bb').groups()
('99',)
>>> re.search(r'.*(99)?', 'aa99bb').groups()
(None,)
Run Code Online (Sandbox Code Playgroud)
我不明白为什么我在第二个例子中没有抓到99.
我将许多单独序列化的 PHP 数组存储到一个文件中。文件的每一行都包含一个序列化数组。例如:
a:2:{s:4:"name";s:8:"John Doe";s:3:"age";s:2:"20";}
a:2:{s:4:"name";s:8:"Jane Doe";s:3:"age";s:2:"15";}
a:2:{s:4:"name";s:12:"Steven Tyler";s:3:"age";s:2:"35";}
a:2:{s:4:"name";s:12:"Jim Morrison";s:3:"age";s:2:"25";}
a:2:{s:4:"name";s:13:"Apple Paltrow";s:3:"age";s:2:"75";}
a:2:{s:4:"name";s:12:"Drew Nickels";s:3:"age";s:2:"34";}
a:2:{s:4:"name";s:11:"Jason Proop";s:3:"age";s:2:"36";}
Run Code Online (Sandbox Code Playgroud)
这是我的问题:
是否可以 grep 该文件以获取以下模式:"name"*"*"
然后,我想根据第二个通配符的内容对找到的行进行排序。
我是Python的新手,目前我需要__repr__一个SqlAlchemy类.我有一个可以接受Null值的整数列,SqlAlchemy将其转换为None.例如:
class Stats(Base):
__tablename__ = "stats"
description = Column(String(2000))
mystat = Column(Integer, nullable=True)
Run Code Online (Sandbox Code Playgroud)
__repr__当SqlAlchemy返回时,在函数中表示"mystat"字段的正确方法是什么None?
我想从用户输入一个textarea值的人名,并将它们分成数组中的项目.
从理论上可能的输入:
people = "Abby Andrews, Ben \r\nCharlie Connors Daphne D., Ernie E. Engels; Faye\r\n\r\nGary Gomez"
array = people.split('??')
Run Code Online (Sandbox Code Playgroud)
如何构建正则表达式以成功分裂像上面这样的疯狂链?
应分开:
\r,\n,\r\n,)或分号(;)不应拆分:
我尝试过people.split(/\r\n,;/),people.split(/,;\r\n/)以及它们的组合,但没有产生结果.
请考虑以下内容(Windows下的Python 3.2):
>>> import io
>>> import csv
>>> output = io.StringIO() # default parameter newline=None
>>> csvdata = [1, 'a', 'Whoa!\nNewlines!']
>>> writer = csv.writer(output, quoting=csv.QUOTE_NONNUMERIC)
>>> writer.writerow(csvdata)
25
>>> output.getvalue()
'1,"a","Whoa!\nNewlines!"\r\n'
Run Code Online (Sandbox Code Playgroud)
为什么有一个\n- 不应该已经转换为\r\n自启用通用换行模式?
启用此功能,在输入,线路的结局
\n,\r或\r\n将被转换为\n被返回给调用者之前.相反,在输出时,\n转换为系统默认行分隔符,os.linesep.
我正在解释我实际上希望做的事情,以防有更高级别的建议完全避免这个问题.
我有我保存在三个数组科学数据:wave,flux,error.它们代表波长,通量和误差值.阵列长约4000个元素(并且数组的索引号对应于检测器的像素数).
我做了各种各样的测试,但是对于这个例子,我们只是说我做了2次测试,我需要有效地屏蔽掉相关的数组.
masks = []
masks.append(wave > 5500.35)
masks.append(flux / wave > 8.5)
Run Code Online (Sandbox Code Playgroud)
Subquestion:我可以很容易地做2面罩案例,如:
fullmask = [x[0] and x[1] for x in zip(masks[0], masks[1])]
Run Code Online (Sandbox Code Playgroud)
但是对于任意数量的面具来说,这样做的方法是什么?
真正的问题:有没有对所有口罩适用于每一个阵列(的方式wave,flux,error),并保持原有的索引号?通过"保留原始索引号"我的意思是我原则上可以取掩蔽波阵列的平均像素数(原始索引号)?也就是说:如果wave[98:99]唯一没有掩盖的部分,平均像素将是98.5.
元问题:这是做这些事情的最好方法吗?
编辑
所以这里有一些样本数据可供使用.
wave = array([5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010,
5011, 5012, 5013, 5014, 5015, 5016, 5017, 5018, 5019, 5020, 5021,
5022, 5023, 5024, 5025, 5026, 5027, 5028, 5029, 5030, 5031, …Run Code Online (Sandbox Code Playgroud) regex ×6
python ×5
.net ×1
arrays ×1
c# ×1
csv ×1
filter ×1
grep ×1
javascript ×1
newline ×1
numpy ×1
parsing ×1
python-3.x ×1
repr ×1
sqlalchemy ×1