【问题标题】:write on csv but getting empty file with no row and columns在 csv 上写入但得到没有行和列的空文件
【发布时间】:2019-11-25 08:51:45
【问题描述】:

我正在尝试使用 CSV 文件来存储一些数据。此代码创建文件:

with open('keras_character_W.csv', 'w') as csvFile:
    fieldnames = ['images', 'result_character']
    writer = csv.DictWriter(csvFile, fieldnames=fieldnames)
    writer.writeheader()

稍后,当我被读取存储变量时,命令's'存储它们:

state = cv2.waitKey(0)
if state == ord('q'):
   break

elif state == ord('s'):
     writer.writerow({'images': '  '})
     writer.writerow({'images': 'guess_right = ', 'result_character': x, })
     writer.writerow({'images': 'final  = ', 'result_character': y , })

但 CSV 文件为空。

“我检查了上限,如果条件满足但没有找到任何文件,甚至在文本编辑器而不是 excel 程序上打开文件”

【问题讨论】:

  • state 是用户输入吗?很难理解发生了什么,请包括所有相关的代码和数据。请参阅:minimal reproducible example
  • 状态是用户键盘点击key得到的输入,如果key是's'则保存
  • 如果输入是”s”,你不应该使用ord()
  • cv2.waitKey(0) 的结果不是我需要使用 ord 将其转换为匹配字母 ord
  • 啊啊,您的帖子中并不清楚输入不是来自标准输入。

标签: python csv


【解决方案1】:

您的示例有点不清楚,但我认为您提前关闭了 CSV。

当您执行with open('keras_character_W.csv', 'w') as csvFile: 时,您会启动一个上下文,其中:

  • keras_character_W.csv之前的内容被删除
  • 文件已打开以供写入
  • 退出with 语句时文件将关闭,这意味着您停止缩进。

希望这会有所帮助!

继续破解!做笔记。

【讨论】:

    猜你喜欢
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多