重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

ファイル名に全角スペースがはいっているcsvファイル(例.教えて goo.csv)の名前を変更したいのですが,u3000が邪魔してできません.
どうしたらよろしいでしょうか

file_path=r"C:\Users\Downloads//"
name1="教えて goo.csv"
name2="rename.csv"
judge=os.path.exists(file_path+name1)

if judge==True:
os.rename(file_path+name1,file_path+name2)

else:
time.sleep(1)
os.rename(file_path+name1,file_path+name2)

FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: 'C:\\Users\\Downloads//教えて\u3000goo.csv' -> 'C:\\Users\\Downloads//rename.csv'


必要あるかわかりませんが,以下importしています.jupyter labでやってます
import time
import pandas as pd
import numpy as np
import datetime
import os

以上,ご回答よろしくお願いいたします

質問者からの補足コメント

  • ご回答ありがとうございます。
    それは、どのようにすればよろしいでしょうか
    参考URL貼って頂けますと幸いです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/10/17 09:15
  • お世話になっております.ご回答ありがとうございます.
    file_path="C:\\Users\\kaito\\Downloads\\"
    name1="教えて goo.csv"

    このように変更していますが,でてきません.

    FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: 'C:\\Users\\kaito\\Downloads\\教えて\u3000goo.csv' -> 'C:\\Users\\kaito\\Downloads\\2020/10/12-2020/10/19hour.csv'

    ちなみに,df = pd.read_csv(file_path+name1,encoding = "shift-jis")は,読み込むことができています.

    よろしくお願いいたします.

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/10/18 09:53
  • tatsumaru77 様,ご回答ありがとうございます
    どのようなコードか一度見せてもらえないでしょうか.
    お手数かけしますが,よろしくお願いいたします.
    df = pd.read_csv(file_path+name1,encoding = "shift-jis")
    で読み込むことはできているので,ファイルは存在すると思います...

    No.3の回答に寄せられた補足コメントです。 補足日時:2020/10/18 09:57
  • tatsumaru77 様, cametan_42 様
    ご回答誠にありがとうございます.
    cametan_42 様のコードでをコピペしてユーザーのところを変えてあげるとrenameできました.
    誠に申し訳ありませんが,うっかりミスだということに気づきました.
    実は,わかりやすいようにname2は,rename.csvでやっていただきましたが,本当は,strftime("%Y-%m-%d")(2020/10/14)のような変数を入れており,ファイル名に/は使えないという落ちでした.

    エラーで/u3000と見慣れない文字が出てきたので,完全にこれが原因とばかり思いこんでしました.pd.readcsvで読み込めたので,原因はname2にあると気が付くべきでした.申し訳ございません.
    しかし,お二人のおかげで気づくことができました.本当にありがとうございます.

      補足日時:2020/10/18 16:36
  • 次回からは,環境もしっかり情報に載せておきます.

    下記をのせれば,よいのでしょうか?(jupyter labでimport sys
    print(sys.version)を出力しました)

    3.8.3 (default, Jul 2 2020, 17:30:36) [MSC v.1916 64 bit (AMD64)]

    win10です

    大変ご迷惑をおかけして申し訳ありませんでした.

    No.12の回答に寄せられた補足コメントです。 補足日時:2020/10/18 16:39

A 回答 (13件中1~10件)

> 次回からは,環境もしっかり情報に載せておきます.



はい、ありがとうございます。
Pythonのバージョン、OSの種類、あとはインポートしてるUnofficialなライブラリ(pandasとかNumpyとか)の情報があれば大体は大丈夫だと思いますよ。
    • good
    • 0

>> No.11氏



> 質問者の方の環境がどうなっているかわかりませんが

そうなんですよね。環境がハッキリせんと何とも言いようがない事が多くて(笑)。

> 質問者の方が、自分の環境で、私かcametan_42さんのスクリプトをutf-8でかいて実際に走らせれば問題の切り分けができるかと

はい。全く仰る通りだと思います。

一番良いのは、取り敢えずDOSコマンド走らせて、件のデータのあり場所の記述がハッキリすれば良いのですが・・・。
まあ、Python2辺りは確かに文字コード弱かったんで、3でもイマイチ信用しきれない事は事実なんですけどね(笑)。
この回答への補足あり
    • good
    • 0

No10様


返信ありがとうございました。
そうすると、質問者の方の環境がどうなっているかわかりませんが
(スクリプトの文字コード、バージョン)
スクリプトをutf-8で書いて、3.8以上なら成功することは確認されましたね。
質問者の方が、自分の環境で、私かcametan_42さんのスクリプトをutf-8でかいて実際に走らせれば問題の切り分けができるかと
    • good
    • 0

>> No.9



こんにちわ。

> そのコードで成功されたのでしょうか。

ええ、大丈夫です、キチンとリネームは成功していますよ。

一応、ファイルはUTF-8、Pythonは最新版の3.9ですね。
    • good
    • 0

No8のcametan_42様


ファイルおよびフォルダが実在する状況で実行したとき、
そのコードで成功されたのでしょうか。(リネームが成功)
それとも、renameでエラーになったのでしょうか。
また、スクリプトの文字コードとpythonのバージョンはどのようになっていますか。
    • good
    • 0

ちなみに、僕の方もNo.4と殆ど同じで、コードは



## ここから

import os

file_path="C:\\Users\\<ユーザー名>\\Downloads\\"
name1="教えて goo.csv"
name2="rename.csv"
judge=os.path.exists(file_path+name1)

if judge==True:
  os.rename(file_path+name1,file_path+name2)

## ここまで

ですねぇ。

そもそも、rename以前にos.path.existsがTrue返すか否かが問題で、そっちを何とかせんとイカんのですが・・・。
うーん。

まぁ、まずはPython3.9が入ってるかどうかからチェック、かなぁ。
    • good
    • 0

> df = pd.read_csv(file_path+name1,encoding = "shift-jis")


> で読み込むことはできているので,ファイルは存在すると思います...

あ、じゃあホンマに文字コードが違うんじゃないかなぁ。

Python3以降だと、デフォルトがutf-8なんで、そこで引っかかってる可能性がありますねぇ。
    • good
    • 0

No4です。

こちらの環境です。
Windows7
D:\goo\python>python -V
Python 3.8.6
    • good
    • 0

No4です。


pandas
numpy
はこちらではいれてないので、コメントにしています。
    • good
    • 0

以下のコードです。

インデントは崩れています。
ファイル名:goo1.py
文字コードはutf-8で書いています。
file_pathはこちらの環境に合わせています。
---------------------------------------------------
import time
#import pandas as pd
#import numpy as np
import datetime
import os

#file_path=r"C:\Users\Downloads//"
file_path=r"D:\goo\data//"
name1="教えて goo.csv"
name2="rename.csv"
judge=os.path.exists(file_path+name1)

if judge==True:
os.rename(file_path+name1,file_path+name2)
print("completed!")
else:
print("not found")

---------------------------------------
実行結果

D:\goo\python>python goo1.py
completed!
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!