相关疑难解决方法(0)

如何使用For-loop和Tell函数填充每行的起始位置列表?

我想要做的就是创建每行的起始位置列表,这样我就可以非常快速地找到它们.我收到错误,"通过'next()'调用告诉我们禁用位置." 我该如何克服这个问题?

>>> in_file = open("data_10000.txt")
>>> in_file.tell()
0
>>> line_numbers = [in_file.tell() for line in in_file]
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    line_numbers = [in_file.tell() for line in in_file]
  File "<pyshell#9>", line 1, in <listcomp>
    line_numbers = [in_file.tell() for line in in_file]
OSError: telling position disabled by next() call
Run Code Online (Sandbox Code Playgroud)

注意:在此上下文中,索引会将行号与搜索位置相关联.

python-3.x

7
推荐指数
1
解决办法
1535
查看次数

如何使用 csv 模块为“分隔符”提供 2 个字符?

我正在尝试使用分隔符“@|@”生成 csv,但是我无法通过下面的代码实现。

import csv
ifile  = open('test.csv', "rb")
reader = csv.reader(ifile)
ofile  = open('ttest.csv', "wb")
writer = csv.writer(ofile, delimiter='|', quotechar='"', quoting=csv.QUOTE_ALL)
for row in reader:
    writer.writerow(row)
ifile.close()
ofile.close()
Run Code Online (Sandbox Code Playgroud)

运行时,它抛出以下错误。

import csv
ifile  = open('test.csv', "rb")
reader = csv.reader(ifile)
ofile  = open('ttest.csv', "wb")
writer = csv.writer(ofile, delimiter='|', quotechar='"', quoting=csv.QUOTE_ALL)
for row in reader:
    writer.writerow(row)
ifile.close()
ofile.close()
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这个目标?

python csv

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

csv ×1

python ×1

python-3.x ×1