在编写了一个函数来生成一些数据之后,我想添加保存数据的功能.我最初使用以下代码开始,并使用‘save=True’运行该代码:
[in]
import csv
... (main body of code - all this works fine)
if save is True:
print("Saving...")
with open('dataset.csv', 'a+') as f:
lines = f.readlines()
for line in lines:
linesplit = line.split(",")
name_in_dataset = linesplit[0]
...
(... some code for the actual saving process - irrelevant)
print("Data added successfully")
[out]
Saving...
我知道数据集文件包含这个名称,应该保存在这里,所以我有点困惑,不知道哪里出了问题.我开始破解密码,直到我达到这个地步:
[in]
if save is True:
print("Saving...")
with open('dataset.csv') as f:
lines = f.readlines()
print(lines)
[out]
Saving...
[]
真的不确定为什么它看不懂台词?我以为我以前使用过相同的代码来读取这个文件的行,所以我真的很困惑为什么它现在不能工作.
我try 向代码中添加诸如f.seek(0)
之类的内容,但这并没有什么不同.我还try 将OPEN函数更改为'a'
和'r'
,但遗憾的是它无法读取这些行.我已经搜索了这么多关于.readlines()
的帖子,但没有找到任何经历过这种情况的人:(我觉得我只是工作太长时间了,忘记了Python编程的基本基础!
提前感谢<;3
编辑: 使用注释中的建议,我将代码更改为:
with open('(file path)/dataset.csv', 'r') as f:
f.seek(0)
lines = csv.reader(f)
print(lines)
然后它又回来了:
Saving...
<csv.reader object at 0x7f01282c7f20>