编写了生成一些数据的函数后,我想添加保存它的功能。我最初使用以下代码开始,并使用“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', 'a+') as f:
lines = f.readlines()
print(lines)
[out]
Saving...
[]
不太确定为什么它无法读取这些行?为什么 f.readlines() 只返回那个空白列表??!我之前使用过相同的代码来读取这个文件的行,所以我真的很困惑为什么它现在不起作用。
我尝试在代码中添加一些内容,例如
f.seek(0)
,但这没有什么区别。我还尝试将打开功能更改为 '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>