下载并保存不带引号的CSV文件

2024-04-25 07:54:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Python下载报告并将其保存为CSV文件。我搞不清楚的一个问题是如何让CSV文件中的数据不带引号。当这些文件最终在Excel中使用时,所有列的格式都是文本,而不是数字。你知道吗

CSV文件中的示例行: “分行银行和信托公司”,“内部销售”,“美元”,“10.00”

以下是我使用的代码:

from simple_salesforce import Salesforce
import requests
import base64
import json
import sys

sf = Salesforce(username="email"
            ,password="password"
            ,security_token="token")

#print "get sid " + str(sf.session_id)
sid = str(sf.session_id)
urlin = "https://na52.salesforce.com/" + sys.argv[1] + "?
view=d&snip&export=1&enc=UTF-8&xf=csv"

response = requests.get(urlin,
              headers = sf.headers, cookies = {'sid' : sid})

#response.contents
print response.content

如果您能提供任何帮助来保存CSV文件而不使用这些引号,我们将不胜感激。你知道吗

下面是该过程的下一步,将csv文件转换为excel并保存。你知道吗

import csv
import sys
from openpyxl import Workbook
from openpyxl.cell import get_column_letter

nfilename = sys.argv[1]
print(nfilename)
nfilename2 = sys.argv[2]
print(nfilename2)

f = open(nfilename, 'r')

csv.register_dialect('commas', delimiter=',')

reader = csv.reader(f, dialect='commas')
#sys.argv[1]
wb = Workbook()
dest_filename = nfilename2

ws = wb.worksheets[0]
ws.title = "Sheet 1"

for row_index, row in enumerate(reader):
for column_index, cell in enumerate(row):
    column_letter = get_column_letter((column_index + 1))
    ws.cell('%s%s'%(column_letter, (row_index + 1))).value = cell

wb.save(filename = dest_filename)

Tags: 文件csvimportgetindexsyscellcolumn