すべてを把握するためにpythonに新しくなりました。私は私のデータで繰り返している文字列の一部を置き換えるために探しています。私は正規表現が答えになるだろうと思うが、私はこの権利を得るために少し苦労しているpythonには新しいです。Pythonは変化する文字列の一部を置き換えます
私のテキストの例は、この「PROD v2.0 - テストウィンドウ - アプリケーション」です。開発者が新しいウィンドウを導入すると、PROD v2.0がv3.0などに変更されます。私がしたいことは、最初の部分全体を削除して、 "Test Window - App"のままにしておきます。
私は理想的には探しているスクリプトで他のことが起こっていますこれを置く場所の助け。
以下は、これまでのスクリプトです。私はこれが仕事のプロジェクトと私が共有できない特定の部分のためのものであるので、これの特定の側面を削除しました。どんな助けも大いに感謝されます、私は私のスクリプトが同様に書かれていないかもしれないことを認識しています、私が取り組んでいるプロジェクトはすぐに予定されています、そして、私はこの段階でこの機能を得ようとしています。
import pandas as pd
data_xls = pd.read_excel('REMOVED.xls', 'Sheet1', index_col=None)
data_xls.to_csv('//REMOVED.csv', encoding='utf-8')
import codecs
import pandas as pd
import os
#import dataset
from datetime import datetime as dt
targetDir = 'REMOVED'
outputFile = 'UPLOADSTEP1.txt'
substitutions = COLUMN SUBS REMOVED
selectCols = [COLUMN ORDER REMOVED]
first = True
# Set working directory
os.chdir(targetDir)
# Iterate thorugh all files in directory
for i in os.listdir(os.getcwd()):
if i.endswith('.csv') and i.startswith('Temp'):
print (i);
# Files are UTF-8 encoded with BOM which Pandas cannot handle. Open with coedcs first before passing to Pandas
opened = codecs.open(i, 'rU', 'UTF-8')
# Read file into dataframe
df = pd.read_csv(opened, header=0)
# Replace headers
for row in substitutions:
if row[0] in df.columns:
df.rename(columns={row[0]:row[1]}, inplace=True)
print(row[0], '->', row[1])
# Save to csv
if first:
# print("First section")
# First file save, retain headers and overwrite previous
# destFile = open(outputFile, 'w')
df.to_csv(outputFile, columns=selectCols, header=True, index=False, low_memory=False, sep='\t')
first = False
else:
# print("Subsequent section")
# Not first file save, remove headers and append to previous
destFile = open(outputFile, 'a')
df.to_csv(destFile, columns=selectCols, header=False, index=False, low_memory=False, sep='\t')
continue
# Symbol Cleanse
f1 = open('UPLOADSTEP1.txt', 'r')
f2 = open('UPLOADSTEP2.txt', 'w')
for line in f1:
f2.write(line.replace(' – ', ' '))
f1.close()
f2.close()
あなたのコードには、置換が行われる手掛かりがありません。しかし、一般的には、おそらく 're'モジュールを使用します。最初の ' - 'までのものを何も置き換えたくないと言うのは公正でしょうか? – eddiem
はい申し訳ありませんが、私はどこに配置するかについて少し失われているので、現在私のコードには何もありません。私は全体のPRODとバージョン番号とハイフンを取り除きたいと思います。削除したいテキストは、データセットの特定の列に表示されます。私が言ったように、バージョン番号は常に変化するので、それに対処する必要があります:) – nohholmez