2

NYSE全体で5分ごとに株式データを取得するVBAマクロがあります。これにより、現在の価格から収益日、p/e まで、その他の指標のすべてが引き出されます。mySQL データベースにインポートする前に、csv データをクリーンアップするために小さな Python コードを実行するように cronjob を設定しようとしています。cronjob をセットアップする前に、Python コードを機能させる必要があります... ベイビー ステップ :)。

数年前にpythonから離れましたが、ここで再び使用しようとしています。いくつかの調査の後、2.6 で多くの文字列メソッドが削除され、続いて 3.1 で maketrans() 引数が削除されたことが精査されました。私はpython 3.3を実行しています。

以下の私のコードについて何か提案はありますか? 一度に 1 行の csv ファイルを取り込み、パーセント記号 (%) を何も ('') に置き換えようとしています。if ステートメント内で replace() 引数を使用しようとしましたが、それも機能しません。よろしくお願いします。

ありがとう、

ダン

import csv
import string

input_file = open('StockData.csv', 'r')
output_file = open('Output.csv', 'w')
data = csv.reader(input_file)
writer = csv.writer(output_file)
specials = '%'

for line in data:
    trans = s.makestrans(specials, ''*len(specials))
    new_line = line.translate(trans)
    writer.writerow(new_line)

input_file.close()
output_file.close() 
4

2 に答える 2

5

これは古いものであることは知っていますが、同様の問題に苦しんでいます。

置換を使用できるように各行を文字列に変換する代わりに、リスト内包表記を使用できます。

そう:

for line in data:
    line = str(line)
    new_line = str.replace(line,specials,'')
    writer.writerow(new_line.split(','))

になります:

for line in data:
    line = [value.replace(specials, '') for value in line]
    writer.writerow(line)
于 2016-01-28T13:21:45.673 に答える