3

私はPythonを初めて使用するので、簡単な質問があります。次の内容の.csvファイルがあります。

123,456,789

それを読んで、次の形式の「数値」という変数に格納したい

"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

ファイル全体に数字のみが含まれている場合は、通常のファイルとして開くことができます。

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

append、thoを使用して、行を配列に追加することをお勧めします。例えば:

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

そこにも役立つかもしれないCSVモジュールがあります。

于 2012-08-21T18:56:04.523 に答える
0

csvモジュールを使用すると、.csvファイルを1行ずつ読み取り、取得したタプルから各要素を処理できます。次に、各要素を二重引用符で囲むことができます。

import csv
reader = csv.reader(open("file.csv"))
for line in reader:
    # line is a tuple ...
于 2012-08-21T19:01:16.857 に答える
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 に答える
-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 に答える