プログラミング・開発

全169550件中221~240件表示
  • バッチファイルの記述内で改行

    メモ帳を使って書いています 「FにあるbbbフォルダをUにコピーする」を試しています 以下ですと問題なく動きます @echo on mkdir U:¥backup robocopy F:¥aaa¥bbb U:¥backup¥bbb /mir /r:1 /w:1 pause 以下ですと「コピー先ディレクトリが指定されていません」となります (コピー元と先を改行しました) (bbbの後ろに半角スペースを入れて、エンター →半角スペースで空白をいれる) @echo on mkdir U:¥backup robocopy F:¥aaa¥bbb      U:¥backup¥bbb /mir /r:1 /w:1 pause 調べていて改行コードの違いかなと…確認しましたが、 メモ帳の名前をつけて保存のときに、 文字コードはANSIです ですので、問題ないかと… (bbbの後ろに半角スペース→エンターも試しましたが同じエラーでした) @echo on mkdir U:¥backup robocopy F:¥aaa¥bbb U:¥backup¥bbb /mir /r:1 /w:1 pause どこを直したら良いでしょうか

  • 【python】機械学習(教師あり)画像認識にて

    調べてもどうしてもわからない部分が有り すいませんが質問させていただきます。 【目的】 薬品容器を認識して容器の数を数えたい。 ※機械学習(教師あり)にて容器の認識をしたいと考えております。 モデル学習する前にデータセットとして 薬品容器のアノテーション作業をLabelMEというツールで 容器のアノテーションを行い、ラベル付けしてjsonファイルにて保存しました。 (デスクトップの機械学習というフォルダにjsonファイル入れています。) 【質問】 このデータセットというのは アノテーションした後のjsonファイルのみあれば モデルの学習はできるのでしょうか? モデル学習のコードを組んでみたのですが エラーが出てしまい具体的には、アノテーションデータに 'image_path' が存在しないとの事でした。 ・画像データが欲しいってことですか?  この場合jsonファイルと元画像jpegがあればモデルの学習が  出来るのですか? 実行時 Loaded dataset from 133 JSON files. Total samples in the dataset: 0 と出るので、データセットの中身が0と出ているような気がします。 コード一応貼ります。 import os import json import cv2 import numpy as np from sklearn.model_selection import train_test_split from tensorflow import keras from tensorflow.keras import layers from tensorflow.keras.applications import VGG16 from tensorflow.keras.preprocessing.image import ImageDataGenerator # データセットのパス json_folder_path = r'C:\Users\Desktop\機械学習' # データセットの読み込み def load_dataset(folder_path): dataset = [] for filename in os.listdir(folder_path): if filename.endswith(".json"): file_path = os.path.join(folder_path, filename) with open(file_path, 'r') as file: data = json.load(file) dataset.append(data) # appendを使用してリストに追加 # アノテーションデータを表示 print(f"Loaded dataset from {len(dataset)} JSON files.") return dataset # データセットの整形 def preprocess_dataset(dataset): images = [] boxes = [] for data in dataset: # 'image_path'が存在する場合のみ処理を行うように修正 if 'image_path' in data: image_path = data['image_path'] label = data.get('label', None) # 'label'が存在しない場合はNoneを返す box = data.get('box', None) # 'box'が存在しない場合はNoneを返す if label and box: image = cv2.imread(image_path) # OpenCVを使用して画像を読み込む images.append(image) boxes.append(box) return np.array(images), np.array(boxes) # データ拡張の設定 datagen = ImageDataGenerator( rotation_range=20, width_shift_range=0.2, height_shift_range=0.2, shear_range=0.2, zoom_range=0.2, horizontal_flip=True, fill_mode='nearest' ) # メインの実行部分 if __name__ == "__main__": # データセットの読み込み dataset = load_dataset(json_folder_path) # データセットの整形 images, boxes = preprocess_dataset(dataset) # データセットのサイズを確認 print(f"Total samples in the dataset: {len(images)}") # 訓練データとテストデータに分割 X_train, X_test, y_train, y_test = train_test_split(images, boxes, test_size=0.2, random_state=42) # データ拡張を適用 for i in range(len(X_train)): img = X_train[i] box = y_train[i] img = np.expand_dims(img, axis=0) box = np.expand_dims(box, axis=0) for j, (img_aug, box_aug) in enumerate(zip(datagen.flow(img, box), datagen.flow(box, box))): if j == 1: # 1回目のデータ拡張だけを適用 X_train = np.vstack((X_train, img_aug)) y_train = np.vstack((y_train, box_aug)) break # モデルの構築(VGG16を利用した転移学習) base_model = VGG16(weights='imagenet', include_top=False, input_shape=(224, 224, 3)) base_model.trainable = False model = keras.Sequential([ base_model, layers.Flatten(), layers.Dense(256, activation='relu'), layers.Dense(4) # 出力層のノード数は物体の座標情報による ]) # モデルのコンパイル model.compile(optimizer='adam', loss='mean_squared_error') # モデルのトレーニング model.fit(X_train, y_train, epochs=10, validation_data=(X_test, y_test)) # テストデータでの評価 test_loss = model.evaluate(X_test, y_test) print(f"Test Loss: {test_loss}")

  • System::drawing内のColor構造体

    System::drawing内のColor構造体が読めず、ColorがC2061構文エラー:識別子となってしまいます。using nameplaseにはSystem::drawingがあります。プロジェクトの参照にもSystem::drawingがあります。対処法を教えていただけないでしょうか

  • EXCELのマクロ

    CSVデータで 例えば G列に あり なし の判定をしていて ひとつでも あり があれば メッセージを出して警告 するようにしたいのですが  どうような文になりますか?

  • LVGLで作った描画プログラムが動かない。

    現在、ESP32基板にili9488というTFT部品を接続して、タッチ操作ができる画面プログラムをLVGLライブラリで作成しています。 hello world表示や、ボタンを表示したりすることはLVGLライブラリを使用して動作することは確認できましたが、ボタンをタッチする操作ができないようで、反応がありません。 Chat gptで画面をなぞると線を描画してくれるようなプログラムを作ってもらったのですが、画面をなぞっても描画できません。 この場合、タッチ機能が停止してしまっていますでしょうか? LVGLでタッチ操作ではなにか特別な設定などが必要でしょうか? なお、TFT_eSPIライブラリのみで作成した画面タッチプログラムでは、タッチ操作は正常にできています。 どうぞ、ご教示の程よろしくお願い致します。 (プログラム内容) #include <Arduino.h> #include <lvgl.h> #include <TFT_eSPI.h> // ILI9488ドライバを含むライブラリ void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p); // ILI9488用のflush関数 TFT_eSPI tft = TFT_eSPI(); // TFTインスタンスを作成 // タッチイベントハンドラ static void touch_event_handler(lv_event_t *e) { lv_obj_t *obj = lv_event_get_target(e); lv_indev_t *indev = lv_indev_get_act(); lv_point_t point; lv_indev_get_point(indev, &point); // タッチされた位置に円を描画 lv_draw_rect_dsc_t rect_dsc; lv_draw_rect_dsc_init(&rect_dsc); rect_dsc.bg_color = lv_color_make(0xFF, 0x00, 0x00); // 赤色 lv_area_t area; area.x1 = point.x - 5; area.y1 = point.y - 5; area.x2 = point.x + 5; area.y2 = point.y + 5; lv_canvas_draw_rect(obj, area.x1, area.y1, lv_area_get_width(&area), lv_area_get_height(&area), &rect_dsc); } void setup() { lv_init(); tft.begin(); tft.setRotation(1); lv_disp_draw_buf_t draw_buf; static lv_color_t buf[TFT_WIDTH * 10]; // 描画バッファを定義 lv_disp_draw_buf_init(&draw_buf, buf, NULL, TFT_WIDTH * 10); // ディスプレイドライバを設定 static lv_disp_drv_t disp_drv; lv_disp_drv_init(&disp_drv); disp_drv.hor_res = TFT_WIDTH; disp_drv.ver_res = TFT_HEIGHT; disp_drv.flush_cb = my_disp_flush; // ここでILI9488用のflush関数を設定 disp_drv.draw_buf = &draw_buf; lv_disp_drv_register(&disp_drv); // キャンバスを作成 lv_obj_t *canvas = lv_canvas_create(lv_scr_act()); lv_obj_add_event_cb(canvas, touch_event_handler, LV_EVENT_PRESSED, NULL); } void loop() { lv_timer_handler(); // LVGLタイマーを処理 delay(5); } // ILI9488用のflush関数(ディスプレイドライバの設定に必要) void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p) { uint32_t w = (area->x2 - area->x1 + 1); uint32_t h = (area->y2 - area->y1 + 1); tft.startWrite(); tft.setAddrWindow(area->x1, area->y1, w, h); tft.pushColors((uint16_t *)&color_p->full, w * h, true); tft.endWrite(); lv_disp_flush_ready(disp); }

  • cssのcalcについて教えてください

    cssの初心者です。html、cssにおいて、メディアクエリを用いて、画面横サイズで600pxではfont size:1.0rem、1000pxでは1.5rem、中間の画素横サイズは比例計算として、calc関数を用いて実装したいと思っていますが、戸惑っています。 ① font-size: calc(1rem + 0.5rem * ((100vw - 600px) /400px)); では機能しません。   1rem=18pxとして、   ➁font-size: calc(18px + 9 * (100vw - 600px) /400); では機能します。①の(100vw-600px)/400pxの箇所は例えば、画面横幅が800pxの際は値と単位が約分されて単位無の1/2となり、括弧の前の0.5remと掛け合わされ0.25rem。+記号の前の1remと足し算され、結果1.25remとの理解ですが、結果として適用されていません。①がなぜ機能しないのか、remを基本で書き表すとどのように数式を作った方がよいのか教えてください。一応、➁でうまくいっていますので、calcを理解するための質問です。 

    • ベストアンサー
    • masamu1029
    • CSS
    • 回答数2
  • マシン語(MS-DOS)の実行過程がわかりません

    LSI C-86 Ver 3.30 試食版を利用して、「hello, world」を表示するプログラムをコンパイルしました。 出来上がったhello.exeがどのように実行されるのか知りたくて、SYMDEBコマンドでステップ実行してみることにしました。 その前にバイナリエディタでhello.exeを開くと、ヘッダは512バイトあり、200hからは最初のマシン語命令「B8 8B 02」が確認できました。 アセンブリ言語では「MOV AX,028Bh」となり、AXレジスタに028Bhがセットされるはずです。 しかし、実際にエミュレータ上で「SYMDEB hello.exe」実行してみると、次のような結果になりました。 -------------------- Microsoft (R) Symbolic Debug Utility Version 4.00 Copyright (C) Microsoft Corp 1984, 1985. All rights reserved. Processor is [8086] -r AX=4B01 BX=0000 CX=2CC1 DX=0000 SP=09C4 BP=0000 SI=0000 DI=0000 DS=117A ES=117A SS=146E CS=118A IP=0000 NV UP EI PL NZ NA PO NC 118A:0000 B81514 MOV AX,1415 -u 118A:0003 8ED0 MOV SS,AX 118A:0005 BC540F MOV SP,0F54 118A:0008 368C1E5800 MOV SS:[0058],DS 118A:000D B430 MOV AH,30 ;'0' 118A:000F CD21 INT 21 118A:0011 36A34500 MOV SS:[0045],AX 118A:0015 8A1E8000 MOV BL,[0080] 118A:0019 32FF XOR BH,BH -------------------- 最初のマシン語命令が、「MOV AX,1415」と書き換わっています。以降の命令はバイナリエディタで見た通りのようです。 なぜ最初の命令が書き換わってしまうのでしょうか?

  • Visual Studio Code のメッセージ

    お世話になります。 VSCを使ってPHPのプログラムを書いています。 バージョンが古いので新しいのをインストールするように勧められて、最新版をダウンロードしてから現在作業中のPHPファイルをオープンしたら、添付写真のscreenshot 1 の様なメッセージが出てきました。 PHPのインストーレーションが見当たらないというような意味だと思いますが、右下の "Open settings" ボタンをクリックして、screenshot 2 が出てきたので、"edit in settins.json" をクリックして screenshot 3 まで来ました。 この画面の ” ” の中に何かの path を入力するのだろうという事は分かりますが、何を入れればよいのかわかりません。 自分が使っているのは xampp-windows-x64-8.2.4-0-VS16-installer.exe でインストールしたPHP(8.2.4)ですが、この中のどれをpath として入れればよいのでしょうか? 詳しい方、どうかよろしくご教授ください。 ちなみに、自分のPCはWindows10で、新しいVSCをインストールする前は、特に何の問題もなく使えていました。

  • github アカウントの削除について(2)

    AIエージェント あい(@OKWAVE-AI)さん 早速のご回答ありがとうございます ご回答の中で、 「GitHubの設定画面にログインし」、"Emails"セクションを開きます。 「GitHubの設定画面にログインし」、"Account Settings"セクションに移動します。 とありますが、「GitHubの設定画面にログイン」とは具体的はどのようにすればよいのでしょうか? 私の GitHub サイトは、 https://github.com/hataka ですが、このサイトは主として試験と個人的なストレージとして開いたサイトで不要になったので削除したいと思っています。 上記サイトを開くと、Product,Solutions,Open Source,Pricingのプルダウンメニュー、search for jump to...テキストボックス、それと「Sighn In」「Sign Up」のプッシュボタンがあり、どちらのプッシュボタンを押しても削除した旧メールアドレスに"Device Verification Code"を送る仕組みになっており、ログインできません。 GitHubの設定画面にログインする方法を具体的にご教示くださいますようお願いします。

  • qhm7.3.7のパーミッションについて

    qhm7.3.7をレンタルサーバーにアップロードしましたが、 パーミッションの設定がわかりません。 参考にしたサイトは以下です。 https://haik.oi21.net/index.php?vup_420_730 パーミッションを設定します。シェルが使えるようなら以下の様な感じです。 chmod 707 wiki diff backup cache cacheqblog counter chmod 606 wiki/* chmod 606 cache/* chmod 606 qhm.ini.php chmod 606 qhm_users.ini.txt chmod 606 qhm_access.ini.txt chmod 707 swfu/d/ chmod 707 swfu/data/ chmod 606 swfu/data/* chmod 707 cacheqhm chmod 606 counter/* chmod 606 diff/* chmod 606 attach/* chmod 707 attach chmod 606 backup/* よろしくお願いします。パーミッションの設定が合わなくて困っています。

    • ベストアンサー
    • panja2021
    • PHP
    • 回答数3
  • JavascriptによるURL取得

    Youtubeで、指定した語句を自動で検索し、指定したチャンネルの最も上位に表示された動画のURLを取得するには、どうしたらよいのでしょうか?

  • WINAPI editbox内の文字が文字化けする

    プログラムは、ウィンドウ内にエディットボックスを表示するだけのものです。 下のプログラムを実行すると、エディットボックス内に ”繧ィ” と表示されます。また、“エディタ“ と入力すると ”ィ」ソ” と表示されます。 GetWindowTextでテキストを取得すると、MessageBoxには何も表示 されませんでした。 使用しているパソコンはwindows10です。 どうすれば文字化けが解消されるのでしょうか。 #include <stdio.h> #include <windows.h> HINSTANCE hinstance; TCHAR tch[128]; LRESULT CALLBACK winpr(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hinst,HINSTANCE hprevinst, LPSTR lpcmdline,int ncmdshow) { TCHAR szwinClass[]=TEXT("samp1"); TCHAR sztitle[]=TEXT("サンプル"); int width=720; int height=720; WNDCLASSEX wcx; HWND hwnd; MSG msg; hinstance=hinst; wcx.cbSize=sizeof(WNDCLASSEX); wcx.style=CS_HREDRAW | CS_VREDRAW; wcx.hbrBackground=(HBRUSH)(COLOR_WINDOWTEXT+1); wcx.cbClsExtra=0; wcx.cbWndExtra=0; wcx.hIcon=NULL; wcx.hIconSm=NULL; wcx.hCursor=LoadCursor(NULL,IDC_ARROW); wcx.hInstance=hinstance; wcx.lpfnWndProc=winpr; wcx.lpszClassName=szwinClass; wcx.lpszMenuName=sztitle; if(!RegisterClassEx(&wcx)){ MessageBox(NULL,TEXT("failed"),TEXT("fail"),MB_OK); return 1; } hwnd=CreateWindowEx(WS_EX_CLIENTEDGE,szwinClass,sztitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT, width,height, NULL,NULL,hinstance,NULL); if (!hwnd) { MessageBox(NULL,TEXT("failed"),TEXT("fail"),MB_OKCANCEL); int err=GetLastError(); return 1; } ShowWindow(hwnd,ncmdshow); UpdateWindow(hwnd); while(GetMessage(&msg,NULL,0,0)>0){ TranslateMessage(&msg); DispatchMessage(&msg); } } LRESULT CALLBACK winpr(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam){  HDC hdc; HWND hwndedit; int id; switch(message){ case(WM_CREATE): hwndedit= CreateWindow( TEXT("edit"), TEXT("エディタ"), WS_CHILD | WS_VISIBLE , 10, 10, 200, 30, hwnd, (HMENU)1,hinstance, NULL); return 0; case(WM_CLOSE): GetWindowText(hwndedit,tch,GetWindowTextLength(hwndedit) + 1); MessageBox(hwnd,tch,TEXT("文字化け"),MB_OK); id=    MessageBox(hwnd,TEXT("閉じる"),TEXT("閉じる"),          MB_OKCANCEL); if (id==IDOK){ DestroyWindow(hwnd); } return 0; case(WM_DESTROY): PostQuitMessage(0); return 0; default: return DefWindowProc(hwnd,message,wparam,lparam); } }

  • HTMLでの、メール

    HTMLでの、メール  いつも、回答ありがとうございます。 ヤフーから、メールが送られてくるが、 HTMLでの、 メールが、送られてこない。 テキストメールのみなので、 HTMLでのメール受信をするには、設定をどのように、変えればよいでしょうか?  自分で、HTMLでのメールを受信しない、 テキストメール設定のみの 設定にしているとのことですが、記憶がありません。 ヤフーの画面から順番に説明してください。  よろしくお願いいたします。 敬具 ---------以下参照--------- メール本文から。 受信設定がオフ パソコン、スマートフォン、タブレットで本メールを受信されている方は、  お客様のメール受信環境で、HTMLメールの受信設定がオフになっているため  本メールが表示されております。  Yahoo!オークションの注目商品や  お得な情報などを画像満載の内容でご案内させていただいておりますので  HTMLメール受信設定のオンをご検討下さい。

    • ベストアンサー
    • mhd02556
    • HTML
    • 回答数1
  • Sortメソッドが上手くいかない

    Option Explicit '単価で並べ替える Sub SortUnitPrice() Range("B:G").Sort _ key1:=Range("D3"), _ key2:=Range("E3"), _ Header:=xlYes End Sub D3とE3はヘッダーにしてD4とE4の値で並び替えをしようとしたのですが上手くいきません。 このコードを実行すると「実行エラー」Rangeクラスのsortメソッドが失敗しました。と出ます、なぜでしょうか。

  • python: ストアする値を更新するコード

    pythonコードの質問です 入力は、画像のExcelシートのA列のようになっています 1行目:その後入力される単語の数 2行明以降:テキスト(ここでは野菜名) これに対して次のコードで「判定」をかけました #----------------------- #数値入力(入力される単語数) t = int(input()) flag = 0 store = 0 i = 0 for i in range(t): #野菜名判定 txt = input() #Tomatoの入力を1として変数flagに代入 if txt.count("Tomato") == 1: flag = 1 store = flag print("iは " + str(i) + "-----") print("判定 " + str(flag == 1 & (store - i) > 0)) print("storeは " + str(store)) i += 1 else: flag = 0 print("iは " + str(i) + "-----") print("判定 " + str(flag == 1 & (store - i) > 0)) print("storeは " + str(store)) i += 1 #----------------------- 2番め以降の入力を for i in range(t)で回し、"Tomato"がみつかると、flagに1を立てます そしてflagの値を、次に"Tomato"が出現するまでstoreに代入して保存 flag == 1 (Tomatoが出現した入力)and (store - i) > 0 となった場合にTrue それ以外はFalse 判定をさせようとしています "Tomato"が入力されても、一定期間はTrue判断にしたくないため、 (store - i) > 0 でジャッジしています ところがi == 7のとき、storeの値が本来storeで8になるべきところが、1のまま変化がおきていないため、本来"判定"がTrueであるべきがFalseとなります store値を上の条件「(store - i) > 0」で更新させたい つまり i が 7のとき、store は 8 ですが、コードのどこが間違っているのでしょうか 他のジャッジ方法でもかまいません

  • github アカウントの削除について

    githubにアカウントを登録している kahata と申します。 最近自分のメールアドレスを変更した際、githubのプライマリメールアドレスの変更をしないままで、旧アドレスを削除しました。 そのため、githubの "Device Verification Code" を受け取ることができず、localからのpushや web上でのlog inができません このような状態で、github アカウントの削除やプライマリメールアドレスを変更することは可能でしょうか? また、githubの管理者にgithub アカウントの削除を依頼する方法があればお教えください。 よろしくご教示お願いします

  • 埋め込み式では成功できたのに外部読み込み式ではなぜ

    次のプログラムを外部読み込み式にしましたが、うまくいきません。 埋め込み式でしたらうまくいったのに…。 ↓javascript (function () { const form = document.semboku_f; //フォーム要素 form.onchange = function () { //インデックスを取得 const i21 = form.semboku_q1.selectedIndex; const i22 = form.semboku_q2.selectedIndex; //禁止条件 if (i21 == 0 || i22 == 0) { return false; } //テキストを取得 const text21 = form.semboku_q1.options[i21].text; const text22 = form.semboku_q2.options[i22].text; let str = text21 + " から " + text22 + " まで"; form.result11.value = str; if (i21 == i22) { str = "異なる記号を選んでください"; } else if ((semboku_f.semboku_q1.value == "中百舌鳥" && semboku_f.semboku_q2.value == "深井") || (semboku_f.semboku_q1.value == "深井" && semboku_f.semboku_q2.value == "中百舌鳥")) { str = "3.7km"; } else if ((semboku_f.semboku_q1.value == "中百舌鳥" && semboku_f.semboku_q2.value == "泉ケ丘") || (semboku_f.semboku_q1.value == "泉ケ丘" && semboku_f.semboku_q2.value == "中百舌鳥")) { str = "7.8㎞"; } form.result21.value = str; //結果を表示 }; })(); ↓html <script src="泉北 20220801 Mon\jsファイル 20220801 Mon\距離 20231219 Wed.js"></script> <style> textarea.hoge { width: 150px; height:200px;} </style> <body> <form name="semboku_f"> 出発駅は <select name="semboku_q1"> <option>選択肢</option> <option>中百舌鳥</option> <option>深井</option> <option>泉ケ丘</option> </select>0 です。 <p> 到着駅は <select name="semboku_q2"> <option>選択肢</option> <option>中百舌鳥</option> <option>深井</option> <option>泉ケ丘</option> </select></select>0 です。<p> <input id="result11" type="text11" value="" size="30"> <input id="result21" type="text21" value="" size="30"> <input type="reset" value="リセット"></p> <input type="button" name="b1" value="運賃検索" onclick="semboku_kotae()"> <p></input> <table border="1"> <input name=semboku_tokuten id="semboku_tokuten_2" size="6" type="hidden">km</input></th></tr> </table>00 <!--HTMLここまで--> <!--問題--> <hr /> <hr /> <hr /> </body>

  • perl ディレクトリ ツリー表示

    下記ソースコードでカレントディレクトリのツリー表示ができますが、これを特定のディレクトリ内をツリー表示できるようにする方法がわかりません。 opendir関数の$dirの前にtestをつけましたが、うまく行きません。 特定のディレクトリは任意で変えることができることとします。 sub treelist_ { my ($dir, $lv) = @_; opendir my $dh, $dir; my @files = grep { $_ !~ /^\.\.?$/; } readdir $dh; closedir $dh; for my $file (@files) { print ">" x $lv, "$dir/$file\n"; treelist_("$dir/$file", $lv+1) if -d "$dir/$file"; } } sub tree { for my $dir (@_) { print "$dir\n"; treelist_($dir, 0); } } tree('.');

  • PowershellでCSVをexcelに書き込む

    Powershellを使いCSVファイルをexcelの任意のセル位置から書き込むためにQueryTablesを使わない方法として下記コードをとあるサイトを見て継ぎ接ぎで作りましたがデータ量が多くなると処理時間を要します。 「QueryTablesよりStreamReaderのほうが 大容量(100MB以上)のテキストファイルを処理する場合、Get-ContentやImport-Csvなどのコマンドレットではなく、StreamReaderを使用することが推奨されています。なぜなら、PowerShellのパイプ処理は遅く、大量のメモリを消費するため、効率的な処理ができないからです。 StreamReaderは.NET Frameworkのオブジェクトを生成して使用するため、コードの記述量が増えるかもしれませんが、大容量ファイルの読み込みには最適な手法です。」 とありより良い方法と思いましたが私のコードのの書き方かどうか分かりませんが期待外れでした。因みに2列、1,000,001行でもQueryTablesなら15秒ぐらいですがこれだと10,001行で50秒位掛かりる状況でした。 # 通常のCSVファイルをExcelにインポートするスクリプト $excel = New-Object -ComObject Excel.Application $excel.Visible = $true $book = $excel.Workbooks.Add() $sheet = $excel.Worksheets.Item(1) $csvPath = "D:\test\pp004.csv" # CSV ファイルのエンコーディングを指定する $enc = [System.Text.Encoding]::UTF8 # CSV ファイルをオープンする $streamReader = New-Object -TypeName System.IO.StreamReader $csvPath, $enc # 変数を初期化する・・書き出し位置の指定 $i = 2 $j = 3 # 1行ずつ最終レコードまで読み込む While (($line = $streamReader.ReadLine()) -ne $null) { # カンマで文字列を分割し配列に格納する $fields = $line.Split(",") # 配列を順番に処理する foreach ($field in $fields) { # セルの書式を「文字列」にする #$sheet.Cells.Item($i, $j).NumberFormat = "@" # セルに値を設定する $sheet.Cells.Item($i, $j).Value = $field # 列を1つ進める $j++ } # 行を1つ進める $i++ # 変数初期化 $j = 3 } # CSV ファイルを閉じる $streamReader.Close() # COM 参照を解放する [void][System.Runtime.InteropServices.Marshal]::ReleaseComObject($sheet) [void][System.Runtime.InteropServices.Marshal]::ReleaseComObject($book) [void][System.Runtime.InteropServices.Marshal]::ReleaseComObject($excel) [GC]::Collect() もしこのコードに問題があればお教えください。 よろしくお願いします。

  • javascriptの{}の表現は2つ可か不可か?

    <!--HTMLここまで--> <!--問題--> <br> <hr> <br> <!--阪和線--> <body> <form name="semboku_f"> 出発駅は <select name="semboku_q1"> <option>選択肢</option> <option>中百舌鳥</option> <option>深井</option> <option>泉ケ丘</option> </select> です。 <p> 到着駅は <select name="semboku_q2"> <option>選択肢</option> <option>中百舌鳥</option> <option>深井</option> <option>泉ケ丘</option> </select> です。<p> <script> function fare_kotae() { fare_ten=0 if((fare_f.fare_q1.value == "中百舌鳥"&&fare_f.fare_q2.value == "深井")||(fare_f.fare_q1.value == "深井"&&fare_f.fare_q2.value == "中百舌鳥")) {fare_f.fare_q1.style.backgroundColor="aqua ";fare_ten = fare_ten + 3.7} else if((fare_f.fare_q1.value == "中百舌鳥"&&fare_f.fare_q2.value == "泉ケ丘")||(fare_f.fare_q1.value == "泉ケ丘"&&fare_f.fare_q2.value == "中百舌鳥")) {fare_f.fare_q1.style.backgroundColor="aqua ";fare_ten = fare_ten + 7.8} else fare_f.fare_q1.style.backgroundColor="red" fare_f.fare_tokuten.value=fare_ten if((fare_f.fare_tokuten.value=3)&&((fare_f.fare_q1.value == "中百舌鳥"&&fare_f.fare_q2.value == "深井")||(fare_f.fare_q1.value == "深井"&&fare_f.fare_q2.value == "中百舌鳥"))) {fare_f.fare_futsu_otona.value = Number("1000")} else if((fare_f.fare_tokuten.value=78)&&((fare_f.fare_q1.value == "中百舌鳥"&&fare_f.fare_q2.value == "泉ケ丘")||(fare_f.fare_q1.value == "泉ケ丘"&&fare_f.fare_q2.value == "中百舌鳥"))) {fare_f.fare_futsu_otona.value = Number("3000")} </script> とあるとき、 {fare_f.fare_futsu_otona.value = Number("1000")}は、1つしか並べませんか。 これができなくてすごく困っています。 詳細なjavascript分を省略せずにお書きください。