【发布时间】:2019-09-23 11:22:33
【问题描述】:
所以我正在读取一个 csv 文件,使用 csv 文件中的输入访问 API,然后使用 Python 将响应打印到另一个文件中。
现在,我的 csv 文件包含 12 个请求参数,我希望其中 9 个作为整数传递,3 个作为字符串传递,同时访问 API。
我无法将它们转换为整数。 我的代码到现在如下(暂时跳过了 API 部分):
filepath = '/Users/AKG/Work/September19/U-model/Search.csv'
import requests
import json
import csv
import os
url = "http://internal-dsp-listing-lg-x.com/v1/predict/RSLD/v1"
fp = open(filepath, encoding='utf-8')
for cnt, line in enumerate(fp):
line = line.split(',')
d = {"customer_id": line[0],"listing_slot": line[1],"closingIn": line[2],"new_user": line[3],"last_mile_distance": line[4],"stress": line[5],"customer_user_agent": line[6],"listing_restaurant_sla": line[7],"request_id": line[8],"ld": line[9],"city_id": line[10],"restaurant_id": line[11].replace("\n","")}
print (line)
我的输出是:
['\ufeff87068', '4', '-1', '0', '0.916999995708465', '0.9608271718025208', 'ANDROID', '33', 'aa27f680-2ddb-4d61-b685-e29a15f9c85b', '1', '1', '498\n']
['87068', '4', '-1', '0', '0.916999995708465', '0.9608271718025208', 'ANDROID', '33', 'aa27f680-2ddb-4d61-b685-e29a15f9c85b', '0', '1', '498\n']
Q.1 如何将这个数组的部分元素转换成整数?
Q.2 如何删除第一行第一个元素中的“\ufeff”?
Q.3 如何删除数组最后一个元素中的\n?我正在对最后一个元素使用替换功能。
【问题讨论】:
-
第一季度,
int(str_value_to_convert)。第二季度/第三季度。.replace或.strip。不带参数的剥离将删除字符串开头和结尾的所有空格,包括\n -
另外:您打印的是
line,而不是d,因此您无需替换即可看到内容。 ;) 你的.replace('\n', '')是正确的。 -
\ufeff表示 BOM - Byte Order Mark
标签: python arrays arraylist type-conversion