Python 3.6.2 中 CSV 的差距 Analysis/Report
Gap Analysis/Report for CSV in Python 3.6.2
Start End
MM0001 MM0009
MM0010 MM0020
MM0030 MM0039
MM0059 MM0071
下午好,我想在 3.6.2 中的 Python 中创建代码,这将使我能够在本质上查找连续数字行中的间隙,例如这个。然后它会以类似于以下的格式输出到屏幕以查找缺失的数字:
MM0021 MM0029
MM0040 MM0051
MM0052 MM0058
我已经根据我在这里找到的答案为这个程序创建了一些代码,但我不认为它是完整的,而且我相信它是在 Python 2.7 中完成的。但是,我将其用作我尝试做的事情的基础。
import csv
with open('thedata.csv') as csvfile:
reader = csv.reader (csvfile)
for line, row in enumerate(reader, 1):
if not row:
print 'Start of line', line, 'Contents', row
任何帮助将不胜感激。
import csv
def out(*args):
print('{},{}'.format(*(str(i).rjust(4, "0") for i in args)))
prev = 0
data = csv.reader(open('thedata.csv'))
print(*next(data), sep=', ') # header
for line in data:
start, end = (int(s.strip()[2:]) for s in line)
if start != prev+1:
out(prev+1, start-1)
prev = end
out(start, end)
抱歉,这真的很难看,但应该有用吗?
输出逗号分隔的文本
如果某些东西不起作用,或者您希望将其保存到文件中,请发表评论
Start End
MM0001 MM0009
MM0010 MM0020
MM0030 MM0039
MM0059 MM0071
下午好,我想在 3.6.2 中的 Python 中创建代码,这将使我能够在本质上查找连续数字行中的间隙,例如这个。然后它会以类似于以下的格式输出到屏幕以查找缺失的数字:
MM0021 MM0029
MM0040 MM0051
MM0052 MM0058
我已经根据我在这里找到的答案为这个程序创建了一些代码,但我不认为它是完整的,而且我相信它是在 Python 2.7 中完成的。但是,我将其用作我尝试做的事情的基础。
import csv
with open('thedata.csv') as csvfile:
reader = csv.reader (csvfile)
for line, row in enumerate(reader, 1):
if not row:
print 'Start of line', line, 'Contents', row
任何帮助将不胜感激。
import csv
def out(*args):
print('{},{}'.format(*(str(i).rjust(4, "0") for i in args)))
prev = 0
data = csv.reader(open('thedata.csv'))
print(*next(data), sep=', ') # header
for line in data:
start, end = (int(s.strip()[2:]) for s in line)
if start != prev+1:
out(prev+1, start-1)
prev = end
out(start, end)
抱歉,这真的很难看,但应该有用吗?
输出逗号分隔的文本
如果某些东西不起作用,或者您希望将其保存到文件中,请发表评论