質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

288閲覧

python3系で"/"で区切られた各数字をリスト化したいです

amaturePy

総合スコア131

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/05/17 08:02

編集2020/05/17 11:02

csvのカラムデータで"/"で区切られた数字の文字列があります。こちらをpandasのread_csvで読み取ったのですが、ここから"/"ごとに区切って数字をリストで取り出したいです。
ご教授頂けると幸いです。
試した事はspilitを使用。
そこで以下のエラーが出てしまっています。
「'DataFrame' object has no attribute 'split'」

read_csvの結果 OID 0 1618544796/1043253441/1468827215 1 1618544796/1043253441/1468827215 2 1618544796/1043253441/1468827215 3 1618544796/1043253441/1468827215 4 1618544796/1043253441/1468827215 .. ... 197 NaN 198 1714135326 199 1714135326 200 1714135326 201 NaN [202 rows x 1 columns] ​
import pandas as pd file0 = "./node_file2.csv" file1 = "./node_file3.csv" f0 = pd.read_csv(file0, usecols=[0]) f1 = pd.read_csv(file1, usecols=[0]) read_oid0 = pd.read_csv(file0, usecols=[11]) read_oid1 = pd.read_csv(file1, sep="/", usecols=[8]) split_oid0 = read_oid0.split('/', expand =True) print(read_oid0)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

x98000

2020/05/17 08:08

Pythonでの文字列の分割方法は調べましたか?まず、調べて、書いてみて、動かなかった場合に聞いたほうがいいですよ。
amaturePy

2020/05/17 08:22

失礼しました。spilitで試してみたのですが、試した物も載せるべきでした。 再度、試してみます。
guest

回答2

0

以下のコードで実装できました。

import pandas as pd file0 = "./node_file2.csv" file1 = "./node_file3.csv" f0 = pd.read_csv(file0, usecols=[0]) f1 = pd.read_csv(file1, usecols=[0]) read_oid0 = pd.read_csv(file0, usecols=[11]) read_oid1 = pd.read_csv(file1, usecols=[8]) split_oid0 = read_oid0['OID'].str.split('/', expand=True) split_oid0 = split_oid0.fillna('OIDなし') print(split_oid0)
結果 0 1 2 0 1618544796 1043253441 1468827215 1 1618544796 1043253441 1468827215 2 1618544796 1043253441 1468827215 3 1618544796 1043253441 1468827215 4 1618544796 1043253441 1468827215 .. ... ... ... 197 OIDなし OIDなし OIDなし 198 1714135326 OIDなし OIDなし 199 1714135326 OIDなし OIDなし 200 1714135326 OIDなし OIDなし 201 OIDなし OIDなし OIDなし [202 rows x 3 columns]

投稿2020/05/17 14:00

amaturePy

総合スコア131

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

Python

1s = "apple/orange/banana" 2lst = s.split("/") 3print(lst) 4# ["apple", "orange", "banana"] 5```これをもとに考えてみてください

投稿2020/05/17 08:14

ForestSeo

総合スコア2722

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amaturePy

2020/05/17 08:23 編集

splitをやはり使うのですね。 ありがとうございます。 使って見てうまくいかなかったのは自分の力量不足ですね、、、 再度、試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問