我试图使用MWSAPI将制表符分隔的.txt文件推送到Amazon。以下代码起作用:
from boto.mws import connection
import time
# Amazon US MWS ID
MarketPlaceID = 'mpid'
MerchantID = 'merchantid'
AccessKeyID = 'akid'
SecretKey = 'secretkey'
conn = connection.MWSConnection(
aws_access_key_id=AccessKeyID,
aws_secret_access_key=SecretKey,
Merchant=MerchantID)
feed = conn.submit_feed(
FeedType='_POST_FLAT_FILE_PRICEANDQUANTITYONLY_UPDATE_DATA_',
PurgeAndReplace=False,
MarketplaceIdList=[MarketPlaceID],
content_type='text/tab-separated-values',
FeedContent="""SKU QUANTITY
ABC 123"""
)
使用上述方法,ABC的数量设置为123。但是,当我试图从制表符分隔的文件中读取相同的数据到feed中并将feed dat传递到FeedContent时,我得到一个错误,说明我的头是关闭的。在
^{pr2}$我觉得.read()方法正在破坏我的制表符分隔的数据。我可以复制/粘贴前几行,并通过用三重引号将数据包装在API中,但我似乎无法将tab文件读入变量并按此方式推送。我也尝试过使用.encode('utf-8')对文件进行编码,但没有成功。感谢您的意见!在
谢谢你
C
您正在呼叫
feed_content.read()
两次。第一次读取整个内容,光标现在指向文件的结尾。再次调用feed_content.read()
将返回一个空字符串,因为已经到达了文件的结尾。在有关此示例,请参阅^{} 的文档。在
一个简单的解决方法是在赋值之后移动
print
,以避免试图调用read()
两次:相关问题 更多 >
编程相关推荐