我刚发现无法写入csv文件中的特定行(仅限结尾)。
我遇到了另一个障碍,我遇到了麻烦,即从csv文件中的特定行读取。 我发现实现这一目标的一种方法是:
with open('file.csv',newline = '') as csvfile:
spamreader = csv.reader(csvfile,delimiter=',',quotechar = '"')
lines = []
for row in spamreader:
lines.append(row)
print('What line do you want to read from?')
line = lines[int(input())-1] #I think the -1 is right. since lists start at 0
但是,我认为这可能是一种效率稍低的方法,因为列表“行”中的行越多,程序将使用的RAM就越多。
有人能告诉我这是否真的是一种有效的方式吗?否则,我会选择这个。
我有什么方法可以做这样的事情吗?
spamreader.readRow(5) #I just made this up, but is there a similar function?
这是我一直在使用的页面,我可以跳过它。 https://docs.python.org/3/library/csv.html
另外,我在编程方面不是很先进,所以如果有一个高级答案,你可以尝试让解释相当简单吗?
答案 0 :(得分:1)
如果您想从第123行开始阅读:
for _ in range(122):
spamreader.next()
for row in spamreader:
...
使用Python 3似乎是
next(spamreader)
还可以使用find
和seek
将光标移动到特定字节,从而在文件中导航。