我有一个python脚本,它在函数中使用以下命令导出文件。它有效,但我需要在导出后导入该文件并循环遍历它。
connector.save_csv(path,'_'+"GT_Weekly"+'_'+keys)
因此,我一直在硬编码文件名并将其与open()一起使用。但是,我想知道如何以保存它时指定的方式指定文件名。
以下是硬编码方法:
with open(path,'_'+"GT_Weekly"+'_'+keys+'.csv', 'rt') as csvfile:
csvReader = csv.reader(csvfile)
data = []
我想获取save_csv参数并将其添加到open但这不起作用。我怎么能这样做
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: an integer is required
键和路径都指定为
keys ="football"
path = "/home/abraham/Trends"
哪个组件需要更改为整数?这对我来说并不明显
此外,当我添加int时,我收到以下错误
with int(open(path,'_'+"GT_Weekly"+'_'+keys+'.csv', 'rt')) as csvfile:
csvReader = csv.reader(csvfile)
data = []
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: an integer is required
>>>
答案 0 :(得分:2)
您似乎认为open
接受路径,文件名和模式;但事实并非如此。参数是文件名,模式和缓冲区大小。缓冲区大小应该是整数,但是您传递'rt'
;因此,您会收到一条错误消息。
如果open(os.path.join(path, filename), 'rt')
的最后一个组件是您想要的文件名的前缀部分,而不是目录名,我猜您想要open(path + filename, 'rt')
,或者可能path
。