私は.csv
ファイルをたくさん持っており、ファイル名を解析したいと思います。ファイル名の一部を変数に取り込む方法は?
ファイル名がこの形式である:
name.surname.csv
は、どのように私は、ファイル名のコンポーネントを持つ2つの変数を移入する関数を書くことができますか?もちろん
A = name
B = surname
私は.csv
ファイルをたくさん持っており、ファイル名を解析したいと思います。ファイル名の一部を変数に取り込む方法は?
ファイル名がこの形式である:
name.surname.csv
は、どのように私は、ファイル名のコンポーネントを持つ2つの変数を移入する関数を書くことができますか?もちろん
A = name
B = surname
名前は.
によって分割し、Aに格納され、これを試してみて、B
a="name.surname.csv"
A,B,C=a.split('.')
ファイルならば、これはあなたのファイル名は形式でfirst.second.csv
であることを前提としてい名前は常に正確に同じ2つのピリオドで同じ形式になります。
>>> name, surname, ext = "john.doe.csv".split(".")
>>> name
'john'
>>> surname
'doe'
>>> ext
'csv'
>>>
私のファイル名が文字列であるので、私ははい、そこにそれを追加何とか必要なときにはい、それはですか? – yabashist
@yabashist右の文字列があると仮定したので、必要な場所にコードを挿入します。 –
str.split
を使用し、結果をA
,B
と別の "匿名"変数に展開して、拡張子を保存(無視)します。
filename = 'name.surname.csv'
A, B, _ = filename.split('.')
もう少し説明を追加すると良い答えになるでしょう。コードのみの回答はそれほど有用ではありません。 –
本当に、チップのおかげで。 – digitalsentinel
単純なstr.split()メソッドとこの関数を使用します。
def split_names(input:str):
splitted = input.split(".")
return splitted[0], splitted[1]
A, B = split_names("name.surname.csv")
あなたは、システム内の特定の場所に保存されたファイルは、あなたが最初のファイル名のみを取得する必要がある場合:
# if filename = name.surname.csv then discard first two lines
filename = "C://CSVFolder//name.surname.csv"
absfilename = filename.split('//')[-1]
# by concept of packing unpacking
A,B,ext = absfilename.split('.')
他
をあなただけ
A,B,ext = "name.surname.csv".split('.')
print A,B,ext
を提供することができますハッピーコーディング:)
'filename =" C://CSVFolder//name.surname.csv "whaaaat?タプル部分も不必要である。 –
@ Jean-FrançoisFabre:ありがとうございました。 – csharpcoder
windowsパスにダブル_slashes_がないことをご存じですか? –
まず、ディレクトリ内のすべてのファイルを拡張子「.csv」で検索してからそれを '。'で分割する
import os
for file in os.listdir("/mydir"):
if file.endswith(".csv"):
# print the file name
print(os.path.join("/mydir", file))
# split the file name by '.'
name, surname, ext = file.split(".")
# print or append or whatever you will do with the result here
errr '.split(「」)「name.surname.csv」' –