以下代码是否有其他替代方法:
startFromLine = 141978 # or whatever line I need to jump to
urlsfile = open(filename, "rb", 0)
linesCounter = 1
for line in urlsfile:
if linesCounter > startFromLine:
DoSomethingWithThisLine(line)
linesCounter += 1
Run Code Online (Sandbox Code Playgroud)
如果我正在(~15MB)使用未知但不同长度的行处理一个巨大的文本文件,并且需要跳转到我事先知道的特定行?当我知道我至少可以忽略文件的前半部分时,我会逐个处理它们.寻找更优雅的解决方案,如果有的话.
我有一个文本文件,每行包含一个时间戳.我的目标是找到时间范围.所有时间都是有序的,所以第一行将是最早的时间,最后一行将是最晚的时间.我只需要第一行和最后一行.在python中获取这些行的最有效方法是什么?
注意:这些文件的长度相对较大,每个大约1-2万行,我必须为几百个文件执行此操作.
我正在使用该csv库来解析文件.我需要跳过6行并直接进入第7行并解析其余部分.我能跑reader.next()6次,但看起来很奇怪:
reader = csv.reader(csvfile)
reader.next()
reader.next()
reader.next()
reader.next()
reader.next()
reader.next()
for row in reader:
print row
Run Code Online (Sandbox Code Playgroud)
所以我想知道是否有办法以另一种方式跳过6行?
我正在读取从设备生成的csv文件,但收到此错误消息:
Error: line contains NULL byte
Run Code Online (Sandbox Code Playgroud)
我在文本编辑器中打开了csv文件,但确实看到标头部分中有一些NUL字节,我并不在乎。如何使csv阅读器函数忽略NUL字节,而仅遍历文件的其余部分?
标头部分和数据之间有两条空行,也许有办法跳过整个标头?
我读取csv文件的代码是
with open(FileName, 'r', encoding='utf-8') as csvfile:
csvreader = csv.reader(csvfile)
Run Code Online (Sandbox Code Playgroud) 例如
mstr = """Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur laoreet
Suspendisse a erat mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent tempor dolor id tincidunt sagittis.
Etiam eu massa in magna maximus gravida pulvinar in ante.
Sed convallis venenatis risus. Mauris dapibus augue a arcu varius dignissim.
Curabitur sapien odio, convallis non dictum eget, ornare quis urna.
Ut cursus massa eget pellentesque varius"""
Run Code Online (Sandbox Code Playgroud)
形成上面的字符串我需要在另一个变量中获取最后 N 行
有没有可用的内置函数?或者有什么有效的方法可以解决这个问题
我有一个包含很多行的.txt文件.我希望我的程序能够询问我想要打印的行,然后将其打印到python shell中..txt文件名为packages.txt.