используйте USERNAME вместо того, чтобы каждый раз обновлять идентификатор пользователя - PullRequest
0 голосов
/ 12 ноября 2018
import csv, json

x = """[
        ....   I have data here
    ]"""

img_data = json.loads(x)

# I want to use %USERNAME% here instead of each time changing the qid for different users
outputFile = open("C:/Users/q666666/Desktop/JSON/imageData1.csv", "w")

csvwriter = csv.writer(outputFile)

csvwriter.writerow( ["fileName", "path", "annotatedImagePath", "resultFilePath", "numberOfDetectedObject", "numberOfQualifiedObject", "analysisDate", "hasFailed"] )

for row in img_data:
     csvwriter.writerow( [row["fileName"], row["path"], row["annotatedImagePath"], row["resultFilePath"], row["numberOfDetectedObject"], row["numberOfQualifiedObject"], row["analysisDate"], row["hasFailed"] ] )

outputFile.close()

1 Ответ

0 голосов
/ 12 ноября 2018

Вы можете использовать приведенный ниже код для получения имени пользователя и замены в пути. Но, однако, вы должны убедиться, что указанная папка существует в вашем локальном хранилище. Becoz, он не будет создавать корневую папку, когда она не существует.

import csv, json,os

x = """[
        ....   I have data here
    ]"""

img_data = json.loads(x)

#Uname is going to hold the current user name
Uname=os.getlogin()

# I want to use %USERNAME% here instead of each time changing the qid for different users
##Ensure this folder exists
outputFile = open("C:/Users/"+Uname+"/Desktop/JSON/imageData1.csv", "w")

csvwriter = csv.writer(outputFile)

csvwriter.writerow( ["fileName", "path", "annotatedImagePath", "resultFilePath", "numberOfDetectedObject", "numberOfQualifiedObject", "analysisDate", "hasFailed"] )

for row in img_data:
     csvwriter.writerow( [row["fileName"], row["path"], row["annotatedImagePath"], row["resultFilePath"], row["numberOfDetectedObject"], row["numberOfQualifiedObject"], row["analysisDate"], row["hasFailed"] ] )

outputFile.close()
...