我是 Python 新手,我正在嘗試將我的輸出匯出到帶有標題的 CSV:工件、大小。下面是它的python代碼。
import requests
import json
import csv
with open('content.csv', 'w') as csvfile:
headers = ['Artifacts', 'Size']
writer = csv.writer(csvfile)
writer.writerow(headers)
with open('file_list.txt') as file:
for line in file:
url = "http://fqdn/repository/{0}/{1}?describe=json".format(repo_name, line.strip())
response = requests.get(url)
json_data = response.text
data = json.loads(json_data)
for size in data['items']:
if size['name'] == 'Payload':
value_size= size['value']['Size']
if value_size != -1:
with open('content.csv', 'a') as fileappend:
data_writer = csv.writer(fileappend)
data_writer.writerow({line.strip(), str(value_size)})
我堅持的問題是,我沒有看到帶有工件名稱的 Artifacts 列和帶有其大小的 Size 列的 csv 檔案,而是看到混合模式,其中一些行是正確的,而一些行顯示大小首先是工件,然后是工件。
另一個問題(不是那么重要)是在 Excel 中打開時每行之間增加了一個空行間隙。
CSV 資料示例
Artifacts,Size
3369,mysql.odbc/5.1.14
641361,curl/7.24.0
2142246,curl/7.24.0.20120225
2163958,curl/7.25.0
curl/7.55.0,3990517
curl/7.55.1,3991943
3875614,curl/7.54.1
curl/7.58.0,3690457
putty.portable/0.67,4201
6227,notepadplusplus/7.5.4
4407,openjdk8/8.242.8.1
5453,dotnetcore-sdk/3.1.201
4405,openjdk8/8.252.9
任何幫助深表感謝。
uj5u.com熱心網友回復:
您將 aset作為引數發送到write_row().
set物件是基于哈希的,因此不一定保持順序。您應該使用 alist或 atuple代替。
在你的最后一行:
# replace curly brackets with square brackets
data_writer.writerow([line.strip(), str(value_size)])
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/462318.html
