我正在尝试读取一些数据,处理数据,并将结果写入以原始文件名+单词"折叠"保存的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=',')
答案 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