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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

916閲覧

pythonでもtsvファイルの扱い方

rikubon_

総合スコア39

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/08/10 13:47

編集2020/08/10 15:15

自分が自然言語処理に挑戦したくてもともとあったcsvファイル(5列2000行のDataFram)を必要な2列2000行のデータに変えてそれをあるサイトでtsvファイルに変換しました。
もともとあったデータは,

ID sentence flag ,,,,,,,
0 aaa 1 ,,,,,,,
1 bbb 2 ,,,,,,,
2 ccc 2 ,,,,,,,
3 ddd 1 ,,,,,,,
4 eee 3 ,,,,,,,
5 fff 2 ,,,,,,,

のようなcsvファイルでした。これを,

aaa 1
bbb 2
ccc 2
ddd 1
eee 3
ddd 2

のようなtsvファイル(sentenceとflagの間は半角スペース)にしたかったのですが,df.loc[[:,['sentence','flag']]で必要なカラムだけ取り出して、df.to_csvでcsvファイルを出力してtsvファイルにして,data = pd.read_csv("data.csv")でdataを出力したところ、

\tsentence\tflag
0\taaa\t1
1\tbbb\t2
2\tccc\t2
3\tddd\t1
4\teee\t3
5\tfff\t2

のように出力されてしまいました。(最初の0,1,2,3...はIDではないです)これを真ん中のデータに変える方法はありますでしょうか?

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

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

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

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

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

coco_bauer

2020/08/10 14:13

最初の文章。「もともとあったcsvファイル」、「を改造して」、「tsvファイルに変換した」、「が」、「のような形で出力されました」の意味が判りません。 「もともとあったcsvファイル」というのは、どのような内容のファイルですか? 「を改造して」とは、具体的に何をしたのかを説明してください。 「のような形で出力されました。」というのは、何から、どうやって出力されたのですか? 「といった形のtsvファイルにしたい」という "aaa 1"というのは何を表しているのですか? 3つ連なったaと、半角スペースと、1、ですか? 質問の2行目の”0\taaa\t1”のようにタブを ¥t と表す表記を使わないのは何故ですか? すみませんが、理解可能な日本語にしてください。
meg_

2020/08/10 14:20

> csvファイルを改造して、tsvファイルに変換した 変換した方法を掲載してください。
rikubon_

2020/08/10 15:17

コメントありがとうございます。すべて変えてみましたのでもう一度見てもらえないでしょうか? タブに関しては自分からですと¥と出力されているように見えるのですが。。。不備がありましたら、すみません
meg_

2020/08/10 15:44

> sentenceとflagの間は半角スペース それですとタブ区切りではなくスペース区切りですね。 それとは別にtsvファイルをpythonでDataFrameにした方法に問題がありそうですね。DataFrameにしたコードを質問に追記してください。
rikubon_

2020/08/10 15:52

そうなんですね。データフレームは元々あるデータを使ったので他に解決策はありますかね?
guest

回答2

0

ベストアンサー

スペースで区切らえた、sentenceとflagだけのcsvファイルが欲しいいんですよね?

text

1\tsentence\tflag 20\taaa\t1 31\tbbb\t2

これは、「tab」区切りで、index付き(このindexは自動で付いたものでしょう)で出力された結果ですので、区切り(separator)をスペースにして、indexを出力しないように指定してto_csvをすればいいと思いますが。

python

1pandas.to_csv(df, sep=" ", index=False)

投稿2020/08/11 00:10

TakaiY

総合スコア12765

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

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

0

tsvファイルのDataFrameへの読み込み方です。 ※data.csvはtsvファイルとする

Python

1data = pd.read_csv("data.csv", sep='\t')

投稿2020/08/10 16:02

meg_

総合スコア10580

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問