複数のRESTエンドポイントからデータを取り込み、列ヘッダーをデータに追加しようとしていて、データの区切り文字をセミコロン(;)からカンマ(、)ので、Excelで正しくフォーマットできます。ファイルへの.csvデータの書き換えは、Pythonでアーティファクトのある最初の列を作成します
注:以下のコードのxはリンクURIのリストであり、省略記号はリンクの検出とプルに使用されるコードを置き換えます。
from bs4 import BeautifulSoup
import openpyxl
from html.parser import HTMLParser
from urllib.request import urlopen
from urllib import parse
import logging
import csv
...
...
for link in links:
linkContent = urlopen(link)
htmlBytes = linkContent.read()
htmlString = htmlBytes.decode("utf-8")
targetFile = open(str(x[link]) + '.csv', 'w')
targetFile.write('Date;StartTime;EndTime;Environment;Domain;DeployID;Module;Status;BuildVersion;DeployType;DeployStart\n')
targetFile.write(htmlString)
targetFile.close()
for file in x:
with open(str(x[file]) + '.csv', newline='') as csvFile:
reader = csv.reader(csvFile,delimiter=";")
data = [line for line in csvFile]
datalen= len(data)
for i in range(datalen):
data[i] = data[i].replace(";", ",")
data[i] = data[i].replace(" ","")
with open(str(x[file]) + '.csv', 'w') as csvFile:
w=csv.writer(csvFile,delimiter=',',quoting=csv.QUOTE_NONE,escapechar=' ')
w.writerows([data])
残念ながら、これは最初の行に続くすべての行の前に不要なカンマを生成します。理由はわかりません。これは、最初のために、ディスプレイにすべての空白をエクセルあり
21、...:
すなわち
日、のStartTime、終了時間...
、2016年7月12日、03:11、03行の後に行のデータの表示を開始します。基本的に、すべてのデータを1行右にシフトします。
コードには、正しく解析するための不要なパラメータや引数があります。
ありがとうございます。
は、なぜあなたは '交換する;' 'と、'すでに区切り文字を変更するので? –
'、'を '、'で区切られたファイルに挿入すると、列の整列の問題が発生することに注意してください。ファイルを開くために使用したエディタは、 '、'に列を作成します –
ファイルは元々は ';'によって区切られていませんでした。私はこれを行って、ファイルをエラーなくExcelで開くことができます。 –