将word添加到输入文件名以输出文件名

时间:2014-06-25 13:24:34

标签: python file networkx

我正在尝试读取一些数据,处理数据,并将结果写入以原始文件名+单词"折叠"保存的CSV。我使用sys.argv传递输入文件名,并认为我可以创建一个新变量,例如filename = sys.argv[1]+'_folded.csv,但我最终得到file.csv_folded.csv

我该怎么做才能将输出文件保存为file_folded.csv?

简化代码示例:

import sys
import networkx as nx

G = nx.read_edgelist(sys.argv[1], delimitier=',')

fileout = sys.argv[1]+'_folded.csv'
nx.write_edgelist(G, fileout, delimiter=',')

3 个答案:

答案 0 :(得分:2)

拆分文件扩展名,只使用前缀:

orginal_name = sys.argv[1]
prefix = orginal_name.rsplit('.')[0]
fileout = prefix + '_folded.csv'

或者只是从终端(我更喜欢)传递out文件名,例如:

python program.py file.csv file_folded.csv

然后在代码中使用sys.argv[2]作为out文件名。

答案 1 :(得分:2)

看起来你已经在命令行参数中指定了filename.csv,所以你想用你的特殊扩展名替换它,你可以这样做:

 file_name = sys.argv[1].replace('.csv', '_folded.csv')

答案 2 :(得分:1)

您可以{。1}将.csv关闭到sys.argv [1]:

slice