有每一行,但在下面的格式一列JSON的CSV文件:JSON鍵值爲CSV列有數據初始化
╔═══╦══════════════════════╗
║ ║ A ║
╠═══╬══════════════════════╣
║ 2 ║ {"discover":"123"} ║
║ 3 ║ {"offer":"321"} ║
║ 4 ║ {"roadmap":"788789"} ║
║ 5 ║ {"nebravvska":"890"} ║
╚═══╩══════════════════════╝
我想上面的JSON鍵和值寫入到各csv col1和col2中的行而不替換現有數據。俄亥俄州和加利福尼亞州是現有的數據。
預期輸出:
╔═══╦════════════════╦══════════╗
║ ║ A ║ B ║
╠═══╬════════════════╬══════════╣
║ 1 ║ discover ║ 123 ║
║ 3 ║ offer ║ 321 ║
║ 4 ║ roadmap ║ 78890 ║
║ 5 ║ nebrask ║ 890 ║
║ 6 ║ ohio ║ hjsd8943 ║
║ 7 ║ california ║ 68yubkj ║
╚═══╩════════════════╩══════════╝
im使用pycharm 2.6。我下面的代碼被寫入鍵和值一列
╔═══╦════════════════╗
║ ║ A ║
╠═══╬════════════════╣
║ 1 ║ discover 123 ║
║ 2 ║ offer 321 ║
║ 3 ║ roadmap 788789 ║
║ 4 ║ nebravvska 890 ║
╚═══╩════════════════╝
with open("JSONsinfile.csv","rU") as infile:
with open("output.csv","a+") as outfile:
writer = csv.writer(outfile, delimiter=' ')
for line in infile:
d = json.loads(line)
writer.writerows(d.items())
infile.close()
outfile.close()
後一本字典我想這個代碼在2.7中給出的語法錯誤如下 in_data = {row [0]:row [1]用於閱讀器中的行} –
我只是將該代碼作爲塊剪切並粘貼,並且在2.7處運行良好。你確定你沒有2.6嗎?嘗試:'in_data = dict((row [0],row [1])in row in reader)' –
我這樣做是2.6。我把那個單詞「2.7」帶回遺憾的錯字。我正在做的下面是2.6 /System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6「/ Users/CSVJson到csv_stack.py」中的錯誤「 Traceback(最近的最後一次調用最後): 「/ Users/CSVJson to csv_stack.py」,第8行,在 in_data = dict((行[第8行 in_data = dict((row [0],row [1])for row in reader) IndexError:列表索引超出範圍 –