Когда я запускаю этот код ...Python OrderedDict в CSV: Устранение пустых строк
from simple_salesforce import Salesforce
sf = Salesforce(username='un', password='pw', security_token='tk')
cons = sf.query_all("SELECT Id, Name FROM Contact WHERE IsDeleted=false LIMIT 2")
import csv
with open('c:\test.csv', 'w') as csvfile:
fieldnames = ['contact_name__c', 'recordtypeid']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for con in cons['records']:
writer.writerow({'contact_name__c': con['Id'], 'recordtypeid': '082I8294817IWfiIWX'})
print('done')
я получаю следующий вывод внутри моего файла CSV ...
contact_name__c,recordtypeid
xyzzyID1xyzzy,082I8294817IWfiIWX
abccbID2abccb,082I8294817IWfiIWX
Я не уверен, почему эти дополнительные линии есть.
Любые советы по избавлению от них, поэтому мой CSV-файл будет нормальным?
Я нахожусь на Python 3.4.3 согласно sys.version_info
.
Вот несколько кодов и выходных-пар, чтобы показать тип данных, я работаю с:
from simple_salesforce import Salesforce
sf = Salesforce(username='un', password='pw', security_token='tk')
print(sf.query_all("SELECT Id, Name FROM Contact WHERE IsDeleted=false LIMIT 2"))
производит
OrderedDict([('totalSize', 2), ('done', True), ('records', [OrderedDict([('attributes', OrderedDict([('type', 'Contact'), ('url', '/services/data/v29.0/sobjects/Contact/xyzzyID1xyzzy')])), ('Id', 'xyzzyID1xyzzy'), ('Name', 'Person One')]), OrderedDict([('attributes', OrderedDict([('type', 'Contact'), ('url', '/services/data/v29.0/sobjects/Contact/abccbID2abccb')])), ('Id', 'abccbID2abccb'), ('Name', 'Person Two')])])])
и
from simple_salesforce import Salesforce
sf = Salesforce(username='un', password='pw', security_token='tk')
cons = sf.query_all("SELECT Id, Name FROM Contact WHERE IsDeleted=false LIMIT 2")
for con in cons['records']:
print(con['Id'])
производит
xyzzyID1xyzzy
abccbID2abccb
Возможный дубликат [файла CSV написано с Python имеет пустые строки между каждой строкой] (http://stackoverflow.com/questions/3348460/csv-file-written-with-python-has-blank-lines-between-each-row) –
Спасибо, я hadn ' t нашел, что один - вероятно, потому, что я продолжал вставлять «orderdict» в мой поиск. –