【发布时间】:2010-12-08 06:38:50
【问题描述】:
我正在尝试读取 csv 文件,但它不起作用。 我可以读取我的 csv 文件,但是当我看到我读取的内容时,值之间有空格。
这是我的代码
# -*- coding: iso-8859-1 -*-
import sql_db, tmpl_macros, os
import security, form, common
import csv
class windows_dialect(csv.Dialect):
"""Describe the usual properties of unix-generated CSV files."""
delimiter = ','
quotechar = '"'
doublequote = 1
skipinitialspace = 0
lineterminator = 'n'
quoting = csv.QUOTE_MINIMAL
def reco(d):
cars = {210:'"', 211:'"', 213:"'", 136:'à', 143:'è', 142:'é'}
for c in cars:
d = d.replace(chr(c),cars[c])
return d
def page_process(ctx):
if ctx.req_equals('catalog_send'):
if 'catalog_file' in ctx.locals.__dict__:
contenu = ctx.locals.catalog_file[0].file.read()
#contenu.encode('')
p = csv.reader(contenu, delimiter=',')
inserted = 0
modified = 0
(cr,db) = sql_db.cursor_get()
for line in p:
if line:
logfile = open('/tmp/test.log', 'a')
logfile.write(line[0])
logfile.write('\n')
logfile.write('-----------------------------\n')
logfile.close()
【问题讨论】:
-
+1 表示“unix 生成的 CSV 文件”(表明 Excel 不是唯一方式)
-
你的缩进不一致。
-
“值之间的空白”是什么意思?该文件中有空格吗?
csv从文件中获得的值周围有空格?顺便说一句,您的行终止符是错误的。应该是\n而不是n。