3

我对python真的很陌生,我有一个简单的问题。我有一个包含以下内容的 .csv 文件:

123,456,789

我想读取它并将其存储到一个名为“number”的变量中,格式如下

"123","456","789"

所以当我这样做的时候

print number

它将给出以下输出

"123","456","789"

有人可以帮忙吗?

谢谢!

更新:以下是我的代码:

input = csv.reader(open('inputfile.csv', 'r'))
for item in input:
    item = ['"' + item + '"' for item in item]
print item

它给出了以下输出:

['"123"', '"456"', '"789"']
4

5 回答 5

6

这是如何做到的:

import csv
from io import StringIO

quotedData = StringIO()

with open('file.csv') as f:
    reader = csv.reader(f)
    writer = csv.writer(quotedData, quoting=csv.QUOTE_ALL)
    for row in reader:
       writer.writerow(row)

reader=csv.reader(StringIO('1,2,3'))输出是:

print quotedData.getvalue()
"1","2","3"
于 2012-08-21T19:09:33.697 回答
0
import csv
spamReader = csv.reader(open('eggs.csv', 'rb'))
for row in spamReader:
    this_row = ['"' + str(item) + '"' for item in row]
    print this_row
于 2012-08-21T19:05:03.340 回答
0

如果整个文件只包含数字,您可以将其作为常规文件打开:

with open("file.csv") as f:
    for line in f:
        print ','.join('"{}"'.format(x) for x in line.rstrip().split(','))

最好使用 append 将行追加到数组中。例如:

with open("file.csv") as f:
    lines=[line.rstrip().split(',') for line in f]

那里有一个CSV模块也可能对您有所帮助。

于 2012-08-21T18:56:04.523 回答
0

.csv使用 csv 模块,您可以逐行读取文件并处理您获得的元组中的每个元素。然后,您可以将每个元素括在双引号中。

import csv
reader = csv.reader(open("file.csv"))
for line in reader:
    # line is a tuple ...
于 2012-08-21T19:01:16.857 回答
-1
import csv 
csvr = csv.reader(open(<yourfile.csv>,'r'))

def gimenumbers():
   for row in csvr:
     yield '","'.join(row)
于 2012-08-21T19:06:19.880 回答