相关疑难解决方法(0)

使用谷歌应用引擎上传和解析csv文件

我想知道是否有人对python和gae有更好的理解可以帮助我.我正在将一个csv文件从表单上传到gae数据存储区.

class CSVImport(webapp.RequestHandler):
  def post(self):
     csv_file = self.request.get('csv_import')
     fileReader = csv.reader(csv_file)
     for row in fileReader:       
       self.response.out.write(row) 
Run Code Online (Sandbox Code Playgroud)

我遇到了其他人在这里提到的问题 - http://groups.google.com/group/google-appengine/browse_thread/thread/bb2d0b1a80ca7ac2/861c8241308b9717

也就是说,csv.reader迭代每个字符而不是行.一位谷歌工程师留下了这样的解释:

调用self.request.get('csv')返回一个String.迭代字符串时,迭代字符而不是行.你可以在这里看到差异:

 class ProcessUpload(webapp.RequestHandler): 
   def post(self): 
     self.response.out.write(self.request.get('csv')) 
     file = open(os.path.join(os.path.dirname(__file__), 'sample.csv')) 
     self.response.out.write(file) 

     # Iterating over a file 
     fileReader = csv.reader(file) 
     for row in fileReader: 
       self.response.out.write(row) 

     # Iterating over a string 
     fileReader = csv.reader(self.request.get('csv')) 
     for row in fileReader: 
       self.response.out.write(row) 
Run Code Online (Sandbox Code Playgroud)

我真的不遵循解释,并没有成功实施它.任何人都可以提供更明确的解释和建议的修复?

谢谢,八月

python csv google-app-engine

7
推荐指数
2
解决办法
7864
查看次数

在未引用的字段中看到的新行字符

我有一个从Django表单加载到内存中的文件.它给了我以下错误:

new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
Run Code Online (Sandbox Code Playgroud)

另一种解决方案使用.

但是,我已经将文件存储在内存中,因此我需要将其更改为以"rU"格式打开.

这是我的相关代码 views.py

form = ResultsUploadForm(request.POST, request.FILES)
    if form.is_valid():
        form.save()
        reader = csv.reader(request.FILES['file'])
        for row in reader:
            #etc...
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?从此声明中抛出错误for row in reader:

python django

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×2

csv ×1

django ×1

google-app-engine ×1