0

Pythonスクリプト内に、csvファイルに書きたい2つの浮動値と2つのリストがあります。longwgs84 と latwgs84 は浮動小数点値で、col1s と col2s はリストです。私がcsvファイルを書くとき:

with open(ausgabe, "wb") as f:  
    datawriter = csv.writer(f)
    for each in zip(lonwgs84 , latwgs84, col1s, col2s):
        cols = each[0] , each[1], each[2] + each[3]
        datawriter.writerow(cols)

次の出力が得られます。

51.821336803,11.6756790532,"['~11:16:05.833', '$GPGGA', '091607.00', '5149.28020818', 'N', '01140.54074319', 'E', '', '', '000.01']"

しかし、私が必要とするのは:

51.821336803,11.6756790532,~11:16:05.833,$GPGGA,091607.00,5149.28020818,N,01140.54074319,E,,,000.01

分割してみましたが、文字列でしか機能しないようです。多分誰かがこれを行う方法を知っていますか?どうもありがとう!

4

1 に答える 1

0

行をスライスして最初の 2 つの要素を取得し、3 番目と 4 番目を連結します。

datawriter.writerow(each[:2] + each[3] + each[4])

または、最初に要素を展開します。

for fp1, fp2, lst1, lst2 in zip(lonwgs84 , latwgs84, col1s, col2s):
    datawriter.writerow([fp1, fp2] + lst1 + lst2)

デモ:

>>> [fp1, fp2] + lst1 + lst2
[51.821336803, 11.6756790532, '~11:16:05.833', '$GPGGA', '091607.00', '5149.28020818', 'N', '01140.54074319', 'E', '', '', '000.01']

最初の 2 つの要素と、次の 2 つの要素をで連結したタプルを作成しました+

cols = each[0], each[1], each[2] + each[3]

の入れ子構造になり(each[0], each[1], [elements of each[2] and each[3]])ます。

于 2013-07-24T08:42:46.687 に答える