Python烧瓶写入csv文件并读取它
我可以读取CSV文件,但不确定如何写入 其想法是允许用户输入他们的评论,并将其保存在CSV文件中,然后进一步打印出评论 这是用于读取csv文件的代码Python烧瓶写入csv文件并读取它,python,html,forms,csv,flask,Python,Html,Forms,Csv,Flask,我可以读取CSV文件,但不确定如何写入 其想法是允许用户输入他们的评论,并将其保存在CSV文件中,然后进一步打印出评论 这是用于读取csv文件的代码 from flask import Flask, render_template from flask import request import csv def comments(): with open('static\\comments.csv', 'r') as inFile: reader = csv.read
from flask import Flask, render_template
from flask import request
import csv
def comments():
with open('static\\comments.csv', 'r') as inFile:
reader = csv.reader(inFile)
commentsList = [row for row in reader]
下面是我用来显示csv文件中字段的代码。我想使用表单以某种方式将字段添加到给定的csv文件中
{commentsList%中的行的%s}
{第%行中的项目为%1}
{{item}}
{%endfor%}
{%endfor%}
姓名:
评论:
日期:
您只需在csv文件中添加一行即可
只需从POST请求中获取字段并将其附加到文件中
s = ",".join([username, comment, date])
fd = open("path/to/file.csv", "a")
fd.write(s)
fd.close()
在a
模式下打开文件会将流定位在文件末尾
s = ",".join([username, comment, date])
fd = open("path/to/file.csv", "a")
fd.write(s)
fd.close()
更新:为您创建了一个示例
from flask import url_for
@app.route("/add-comment/", methods=["POST"])
def add_comment():
username = request.form["username"]
comment = request.form["comment"]
date = request.form["date"]
f = open('static\\comments.csv', 'a')
f.write(",".join([username, comment, date])
f.close()
return redirect(url_for('comments'))
在模板中,将表单操作设置为正确的URL
我不习惯烧瓶,因此它可能不正确您只需在csv文件中添加一行即可 只需从POST请求中获取字段并将其附加到文件中
s = ",".join([username, comment, date])
fd = open("path/to/file.csv", "a")
fd.write(s)
fd.close()
在a
模式下打开文件会将流定位在文件末尾
s = ",".join([username, comment, date])
fd = open("path/to/file.csv", "a")
fd.write(s)
fd.close()
更新:为您创建了一个示例
from flask import url_for
@app.route("/add-comment/", methods=["POST"])
def add_comment():
username = request.form["username"]
comment = request.form["comment"]
date = request.form["date"]
f = open('static\\comments.csv', 'a')
f.write(",".join([username, comment, date])
f.close()
return redirect(url_for('comments'))
在模板中,将表单操作设置为正确的URL
我不习惯烧瓶,所以可能不正确这里有一个简便的解决方案:
>>> import pyexcel as pe
>>> a=[["someone", "good one", "01/Dec/14"]]
>>> sheet = pe.Sheet(a)
>>> sheet
Sheet Name: pyexcel
+---------+----------+-----------+
| someone | good one | 01/Dec/14 |
+---------+----------+-----------+
>>> sheet.colnames=["username", "comment", "date"]
>>> sheet
Sheet Name: pyexcel
+----------+----------+-----------+
| username | comment | date |
+==========+==========+===========+
| someone | good one | 01/Dec/14 |
+----------+----------+-----------+
>>> sheet.save_as("comments.csv")
>>> exit()
$ cat comments.csv
username,comment,date
someone,good one,01/Dec/14
如果需要从文件中读取csv文件:
>>> import pyexcel as pe
>>> sheet = pe.load("comments.csv", name_columns_by_row=0)
>>> sheet
Sheet Name: csv
+----------+----------+-----------+
| username | comment | date |
+==========+==========+===========+
| someone | good one | 01/Dec/14 |
+----------+----------+-----------+
这里有一个例子
2015年2月25日的更新:您也可以看看我的插件:这里有一个方便的解决方案:
>>> import pyexcel as pe
>>> a=[["someone", "good one", "01/Dec/14"]]
>>> sheet = pe.Sheet(a)
>>> sheet
Sheet Name: pyexcel
+---------+----------+-----------+
| someone | good one | 01/Dec/14 |
+---------+----------+-----------+
>>> sheet.colnames=["username", "comment", "date"]
>>> sheet
Sheet Name: pyexcel
+----------+----------+-----------+
| username | comment | date |
+==========+==========+===========+
| someone | good one | 01/Dec/14 |
+----------+----------+-----------+
>>> sheet.save_as("comments.csv")
>>> exit()
$ cat comments.csv
username,comment,date
someone,good one,01/Dec/14
如果需要从文件中读取csv文件:
>>> import pyexcel as pe
>>> sheet = pe.load("comments.csv", name_columns_by_row=0)
>>> sheet
Sheet Name: csv
+----------+----------+-----------+
| username | comment | date |
+==========+==========+===========+
| someone | good one | 01/Dec/14 |
+----------+----------+-----------+
这里有一个例子
2015年2月25日的更新:你也可以看看我的插件:@lukegarigan你设置了一些路由吗?您能在问题中显示更多代码吗?您知道如何处理Flask中的POST请求吗?@Lukegarigan我添加了一些代码,向您展示如何执行一些基本路由。@Lukegarigan您设置了一些路由吗?您能在问题中显示更多代码吗?你知道如何在Flask中处理POST请求吗?@Lukegarigan我添加了更多的代码,向你展示如何进行一些基本的路由。