根据路径导入文件

时间:2015-11-11 10:06:52

标签: python

我有一个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
>>> 

1 个答案:

答案 0 :(得分:2)

您似乎认为open接受路径,文件名和模式;但事实并非如此。参数是文件名,模式和缓冲区大小。缓冲区大小应该是整数,但是您传递'rt';因此,您会收到一条错误消息。

如果open(os.path.join(path, filename), 'rt')的最后一个组件是您想要的文件名的前缀部分,而不是目录名,我猜您想要open(path + filename, 'rt'),或者可能path