【问题标题】:Reading rows of CSV file into string in Python [closed]在Python中将CSV文件的行读入字符串[关闭]
【发布时间】:2013-04-28 21:35:18
【问题描述】:

所以我有一串 id 的数字保存为 CSV

即)http://i.imgur.com/atCJJCx.png

我想要的是将此csv文件上的每一行转换为python中的字符串/列表

mylist=[411211, 1234404, 5711427, 13600442, 13600641, 13601660, 13619537, 15302899 ...]

那么这个字符串上的每个数字都会经过一个API请求,然后吐出Names

然后我希望能够再次将这些名称存储在 csv 中。

我知道通过 API 将数字转换为名称的代码有效,因为我尝试在 python 中手动输入数字作为列表,并且能够在 python 中打印出名称。但是我在使用 csv 时遇到了问题...


好的,所以转换为列表以某种方式工作...... 我仍然不完全理解如何......(忘了提到我是整个编程的新手......)

import urllib2
import json
import csv

with open('jfl42facebooknumberid.csv', 'rU') as csvfile:
    reader = csv.reader(csvfile, quoting=csv.QUOTE_NONE)

    for row in reader:
        myid='. '.join(row)
        try:
            myfile=urllib2.urlopen("http://graph.facebook.com/"+ myid +"?fields=name")
            myjson=json.loads(myfile.read())
            print myjson["name"]
        except:
            print myid

但这会打印出我想要的结果!我只需要弄清楚如何存储到 csv...

【问题讨论】:

  • 同样在 Python 2.x 中,docs.python.org/2/library/csv.html
  • 我知道我知道对不起,我看了很长时间,但我一直得到奇怪的结果......对不起,对 python 来说真的很新,但第一部分有效!我只需要将打印结果存储为 csv 文件...
  • 其实我知道为什么..这是因为当我不得不使用 rU 时我一直在使用 rb(我仍然不明白两者之间的区别是什么......)
  • docs.python.org/2/library/functions.html#openrb 用于非文本文件,因此不适用于 CSV。 rU 正确处理换行符,即使 CSV 文件是在不同的操作系统上编写的,换行符约定与您运行 Python 的操作系统不同。

标签: python csv


【解决方案1】:

if you go to csv in docs python,例子是:

import csv
with open('eggs.csv', 'rb') as csvfile:
    spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
    for row in spamreader:
        print ', '.join(row)

我认为这是一个伟大而简单的例子。

【讨论】:

  • 我正在使用它,但由于某种原因,它一直给我一个我不想要的结果。
  • 但神奇地它只是工作(现在我现在觉得很傻)现在它在 python shell 上吐出名字 James A Billy B ...但我想将这些打印结果保存到一个 csv 文件和文档中的写入示例不起作用:(
猜你喜欢
  • 2017-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-06
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多