簡體   English   中英

閱讀CSV文件並在python中的每個項目上加上雙引號

[英]Read a CSV file and put double quote on each item in python

我是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"']

這是怎么做的:

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"

如果整個文件只包含數字,您只需將其作為常規文件打開:

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

將這些行附加到帶有追加的數組中會更好。 例如:

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

那里有一個CSV模塊也可以幫助你。

使用csv-module,您可以逐行讀取.csv文件並處理您獲得的元組中的每個元素。 然后,您可以將每個元素括在雙引號中。

import csv
reader = csv.reader(open("file.csv"))
for line in reader:
    # line is a tuple ...
import csv
spamReader = csv.reader(open('eggs.csv', 'rb'))
for row in spamReader:
    this_row = ['"' + str(item) + '"' for item in row]
    print this_row
import csv 
csvr = csv.reader(open(<yourfile.csv>,'r'))

def gimenumbers():
   for row in csvr:
     yield '","'.join(row)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM