
ファイル名に全角スペースがはいっている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
以上,ご回答よろしくお願いいたします
No.13ベストアンサー
- 回答日時:
> 次回からは,環境もしっかり情報に載せておきます.
はい、ありがとうございます。
Pythonのバージョン、OSの種類、あとはインポートしてるUnofficialなライブラリ(pandasとかNumpyとか)の情報があれば大体は大丈夫だと思いますよ。
No.12
- 回答日時:
>> No.11氏
> 質問者の方の環境がどうなっているかわかりませんが
そうなんですよね。環境がハッキリせんと何とも言いようがない事が多くて(笑)。
> 質問者の方が、自分の環境で、私かcametan_42さんのスクリプトをutf-8でかいて実際に走らせれば問題の切り分けができるかと
はい。全く仰る通りだと思います。
一番良いのは、取り敢えずDOSコマンド走らせて、件のデータのあり場所の記述がハッキリすれば良いのですが・・・。
まあ、Python2辺りは確かに文字コード弱かったんで、3でもイマイチ信用しきれない事は事実なんですけどね(笑)。
No.11
- 回答日時:
No10様
返信ありがとうございました。
そうすると、質問者の方の環境がどうなっているかわかりませんが
(スクリプトの文字コード、バージョン)
スクリプトをutf-8で書いて、3.8以上なら成功することは確認されましたね。
質問者の方が、自分の環境で、私かcametan_42さんのスクリプトをutf-8でかいて実際に走らせれば問題の切り分けができるかと
No.10
- 回答日時:
>> No.9
こんにちわ。
> そのコードで成功されたのでしょうか。
ええ、大丈夫です、キチンとリネームは成功していますよ。
一応、ファイルはUTF-8、Pythonは最新版の3.9ですね。
No.9
- 回答日時:
No8のcametan_42様
ファイルおよびフォルダが実在する状況で実行したとき、
そのコードで成功されたのでしょうか。(リネームが成功)
それとも、renameでエラーになったのでしょうか。
また、スクリプトの文字コードとpythonのバージョンはどのようになっていますか。
No.8
- 回答日時:
ちなみに、僕の方も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が入ってるかどうかからチェック、かなぁ。
No.7
- 回答日時:
> df = pd.read_csv(file_path+name1,encoding = "shift-jis")
> で読み込むことはできているので,ファイルは存在すると思います...
あ、じゃあホンマに文字コードが違うんじゃないかなぁ。
Python3以降だと、デフォルトがutf-8なんで、そこで引っかかってる可能性がありますねぇ。
No.4
- 回答日時:
以下のコードです。
インデントは崩れています。ファイル名: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!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
window.open でのファイル指定方法
-
read() on unopened filehandle...
-
O_CREAT が効かない
-
MATLAB グローバル変数の宣言
-
エディットボックスの表示方法...
-
ExcelをCSV書き出す場合のシー...
-
vba dir の相対パス
-
batファイルでrenameができませ...
-
Javaで同一のファイルを読み込...
-
C言語でファイル名を取得
-
フォルダが開かなくなりました。
-
CSVが可変長の場合の検索方法
-
全角と半角文字が混在している...
-
VB6で"r"みたいな文字が返って...
-
ANSI Cでファイル名、ディレク...
-
[awk]uniq -cで複数ファイルの...
-
ファイル名に日付を入れてアッ...
-
バッチファイルで、記号を含む...
-
ファイル名と更新日付の取得に...
-
エクセルVBA コードが同じでも...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル全てを .xlsm に変更し...
-
python renameについて
-
fgets で値が取得できない
-
drtファイルはどうしたら開...
-
window.open でのファイル指定方法
-
ファイルの存在の有無を確かめ...
-
VBAコードを張り付け後のエクセ...
-
複数ファイルを1つにするシェ...
-
csvファイルの横方向への改行に...
-
WindowsでPerlをする際,1行目の...
-
AutoNts
-
JSP URLに表示される拡張子 .jsp
-
CGIがうまく動作しません。原因...
-
powerpointでwebページとして保...
-
MySQLにバイナリデータを正常に...
-
巨大なテキストの最終行を取得...
-
PerlでのUseless use...
-
Cでのファイルからの入力および...
-
foreach内での変数の扱い?
-
一つのテキストファイルと複数...
おすすめ情報
ご回答ありがとうございます。
それは、どのようにすればよろしいでしょうか
参考URL貼って頂けますと幸いです。
お世話になっております.ご回答ありがとうございます.
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")は,読み込むことができています.
よろしくお願いいたします.
tatsumaru77 様,ご回答ありがとうございます
どのようなコードか一度見せてもらえないでしょうか.
お手数かけしますが,よろしくお願いいたします.
df = pd.read_csv(file_path+name1,encoding = "shift-jis")
で読み込むことはできているので,ファイルは存在すると思います...
tatsumaru77 様, cametan_42 様
ご回答誠にありがとうございます.
cametan_42 様のコードでをコピペしてユーザーのところを変えてあげるとrenameできました.
誠に申し訳ありませんが,うっかりミスだということに気づきました.
実は,わかりやすいようにname2は,rename.csvでやっていただきましたが,本当は,strftime("%Y-%m-%d")(2020/10/14)のような変数を入れており,ファイル名に/は使えないという落ちでした.
エラーで/u3000と見慣れない文字が出てきたので,完全にこれが原因とばかり思いこんでしました.pd.readcsvで読み込めたので,原因はname2にあると気が付くべきでした.申し訳ございません.
しかし,お二人のおかげで気づくことができました.本当にありがとうございます.
次回からは,環境もしっかり情報に載せておきます.
下記をのせれば,よいのでしょうか?(jupyter labでimport sys
print(sys.version)を出力しました)
3.8.3 (default, Jul 2 2020, 17:30:36) [MSC v.1916 64 bit (AMD64)]
win10です
大変ご迷惑をおかけして申し訳ありませんでした.