読んでいただきありがとうございます!私はこれで新しくなったが、昨日私はウェブサイトからデータ(商品の名前とその価格)を抽出し始め、Python 2.7を使用して特定のウェブサイトのprice、item-nameの形式でCSVファイルを作成する方法を決めた。これで、私はそれらを比較し、与えられた項目名の平均価格を得るいくつかのデータセットを持っていました。私が今直面している問題は、アイテム名(かもしれない)が各ウェブサイトで若干異なることです。例えば、私の第一のデータセットはCSVのテキストをクリーンアップし、Pythonで比較する
4.0, Jungle Book
5.0, "Peter Pan"
4.0, Lady and the Tramp
第CSVファイル三私は
ような平均出力ファイルを希望端で5.0, Up (DVD)
4.0, Peter pan (DVD)
6.0, "Lady and the Tramp" (DVD)
を与える
5.0, Disney's Jungle Book
6.0, Disney's Up
4.0, Disney's Peter Pan
与えるを与えます
4.5, Jungle Book
5.0, Lady and the Tramp
4.33, Peter Pan
5.5, Up
私の最初の問題は、私のCSVファイルにある "または"特定の単語(例えば "ディズニー"、 "(DVD)")のような特殊文字を削除することです。私はcsvファイルから行と列を削除する方法については知っていますが、これらの要素の中で編集するのは苦労します。削除するには、このような何か '(DVD)の作品のようなものが、より "と[文字でさらに大きな混乱私のcsvファイルを作る。..
import csv
import string
input_file = open('DesktopData.csv', 'r')
output_file = open('fixformat.csv', 'w')
data = csv.reader(input_file)
writer = csv.writer(output_file,quoting=csv.QUOTE_ALL)# dialect='excel')
specials = '(DVD)'
for line in data:
line = str(line)
new_line = str.replace(line,specials,'')
writer.writerow(new_line.split(','))
input_file.close()
output_file.close()
それが出て働くだろうしたら、私は平均的な価格をしたいです指定されたタイトルのために。私は心の中で何かを持っていますが、本当にこれが
Jungle Book, 4.0, 5.0
Lady and the Tramp, 4.0, 6.0
Peter Pan, 5.0, 4.0, 4.0
Up, 6.0, 5.0
私はこれになるだろうしたら、私はかなり確信しているがouputをしなければならない私の頭では
Read all titles and put in mainlist;
if title already exsists, ignore/dont make new row with title
Read all files and compare with mainlist;
if title is found, put corresponding price in new column behind title
をそれを把握するためにPythonの構文が不足しています私はそれを作ることができます平均csvファイルに追加します。どんなアドバイスもありがとうございます!
パンダをインポートして遊んでみてください。 pd.read_csv()メソッドを見て始めましょう。 – Aklys