QGISでCSVレイヤー属性値をテキストから数値に変更しますか?


28

.shpファイルにリンクするためにCSVファイルを読み取ります。

単なる数字である変数はすべてテキストとして入力されました。

QGISでテキスト変数を数値に変更するにはどうすればよいですか?

回答:


37

私はかつて同じ質問をしました。答えは、ファイルの末尾がcsvtである同じフォルダーに入れることです。たとえば、ファイル名がxyzdata.csvの場合、ファイルxyzdata.csvtを追加します

これは、たとえばエディターで編集できます。そして、このようなデータ型を設定します。「整数」、「文字列」、「整数」、「整数」、「文字列」、「実数」

整数が最初の列の変数、2番目の列の文字列などになりました...ファイルの名前が同じであることを確認してください。

編集:必要に応じてここも参照してください:http : //underdark.wordpress.com/2011/03/07/how-to-specify-data-types-of-csv-columns-for-use-in-qgis/


どうもありがとう1すべてのCSVファイルがテキストとして読み込まれるのは本当ですか?想像したかもしれませんが、少し前にQGISを使い始めたとき、CSVファイルをリンクしました。数字は数字でした。この情報はユーザーマニュアルにあるべきだと思われます。(多分私はそれを逃した)
HealthMaps

うん、それは私にとってもかなり奇妙だった。ただし、列が数個しかない場合、この方法は簡単に実行できます。それで...実際にうまくいったのですか?
Shepherdjo

はい、完全に機能します!ExcelでのCSVTファイルの設定に注意してください。SASやRを使用してリンクするファイルを作成するため、CSVファイルと一緒にCSVTファイルを作成するのはそれほど面倒ではありません。これを修正する必要があるようです。私が使用する別のGISでは、CSV列に数字が表示され、数字として読み込まれます。
HealthMaps

列をテキストからフロートまたはフロートからテキストに変更するプラグインMMQGISを見つけました。リンクされたファイルまたはインポートされたcsvファイルではなく、形状ファイルに対してのみ機能します。michaelminn.com/linux/mmqgis
HealthMaps

それは良かったです。プラグインのヒントのthx。あなたも私の答えを受け入れるなら、あなたも感謝しますか?
Shepherdjo

15

入力ファイルをいじるのではなく、すべてを完璧にしようとするのではなく、フィールド計算機を使用してテキストを数値/実数に変換するだけです。以下の例を参照してください。

フィールド計算機

フィールド計算機

フィールド計算機からリアルへ

関数後の属性テーブル


CSVファイルを持ち込んだとき、編集できませんでした。編集ボタンはグレー表示されていました。編集可能にするにはどうすればよいですか?
HealthMaps

qGISを介してcsvを編集できるかどうかはわかりません。あなたはすでにcsvデータをシェープファイルにインポートしているという点であなたの質問を誤解していると思います。
nagytech

2
.shpというリンクを、csvファイルにリンクしました。csvファイルには、列がありますが実際はテキストでした。どうやら、CSVファイルを単独で編集したり、SHPファイルにリンクされている場合は編集できません。それで、リンクされたファイルを保存してからリロードし、あなたが提案したようにテキスト形式のファイルを整数形式に編集することができました。.csvtファイルを使用すると、変換する必要のあるテキスト列が多数ある場合に最適に機能し、あまり多くない場合はフィールド計算方法を使用するようです。何にもリンクされていない、CSVファイルを単独で編集できると便利です。
HealthMaps

11

[ベクターレイヤーの追加]を使用して.csvを読み込む代わりに、区切りテキストレイヤーツールを使用します。各列に最適なデータ型を検出しようとします。

詳細については、QGISユーザーガイドを参照してください

ここに画像の説明を入力してください


インスタフィックス!おかげで
user94812

5

MMQGisがこの問題の原因であり、結局のところ、修正することができます。

シェープファイルとCSVデータを結合したら、MMQGisの[修正]> [フロートへのテキスト]ツールを使用します。

いつものように、それはジャンク中間シェープファイルの痕跡を残しますが、他に新しいものは何ですか


1

ではQGISから3.x一般的なエラー源が間違った小数点区切り文字を選択することです。CSVをQGISにロードする前に、「小数点区切り記号はコンマ」ボックスをオンまたはオフにします。

ここに画像の説明を入力してください


-2

大規模なデータセットを管理し、フィールドカルキュレーター(ループなし)またはテキストエディター内で処理するのに明らかに時間がかかる場合の別の方法:-データをCSV + XY +変数として保存します。プラグインでCSVをインポート(csvをインポート)-シェイプファイル(ポイント)として保存-次にq gisを閉じ-シェイプファイルポイントでフォルダーに戻り、対応するdbfテーブルを複製/名前を変更-Qgisを開き-新しいdbfをアップロードして参加シェープファイル(ポリゴン機能)

1つの石、2つのハト:1)すべてのデータとすべての表現の可能性を備えたシェープファイルポイント2)主題図作成用のポリゴンにリンクされたdbfテーブルが結合された(編集可能!)独立したシェープファイル

これは少し失礼ですが、非常に簡単です...

bs_epidemio


3
この答えは取得する方法について説明しますが.csv、編集可能な形式にファイルを、それから属性値を変換する方法の元の質問に対処しないテキスト番号を。質の高い焦点を絞った質問をすることは重要ですが、それらの質問に対する答えは、元々尋ねられたものにできる限り焦点を合わせて関連することが同様に重要です。
空間取得
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.