19 件 見つかりました。
0,2,0,こんにちは,50,0,0,0,0,0 1,1,1,さようなら,0,0,0,0,0,0
理想: 1,1,0,"ああ,いい,ううう。",21,0,0,0,0,0 0,2,0,"あれれれ,",50,0,0,0,0,0 現実: 1,1,0,ああ,いい,ううう。,21,0,0,0,0,0 0,2,0,あれれれ,,50,0,0,0,0,0
1,1,0,ああ,いい,ううう。,21,0,0,0,0,0 ↓ カンマで分割してリストにする 1 1 0 ああ いい ううう。 21 0 0 0 0 0 ↓ 前と後ろのカラムを取る [1 1 0] ああ いい ううう。 [21 0 0 0 0 0] ↓ ああ いい ううう。 ↓ 残りをカンマで繋ぎ直し、ダブルクォートで囲む "ああ,いい,ううう。" ↓ さっき取った、前と後ろのカラムと合わせて最終的な CSV にする 1,1,0,"ああ,いい,ううう。",21,0,0,0,0,0
my $IX = 4; # 4番目のカラムがカンマ入りテキスト my $N = 10; # 全部で10カラム while (<>) { chomp; # 末尾の改行削除 my @F = split(",", $_, -1); # 読み込んだ CSV 行をカンマで切ってリストへ my @pre = @F[0..($IX-2)]; # 前から IX-1 個分のカラム my @post = @F[$#F-($N-$IX-1)..$#F]; # 後ろから N-IX 個分のカラム my $text = join(",", @F[($IX-1)..($#F-($N-$IX))]); # カンマ入りテキスト print join(",", @pre, "\"$text\"", @post)."\n"; # CSV に戻す }
my $IX = 4; # 4番目のカラムがカンマ入りテキスト my $N = 4; # 全部で10カラム while (<>) { chomp; # 末尾の改行削除 my @F = split(",", $_, -1); # 読み込んだ CSV 行をカンマで切ってリストへ my @ts = join(",", splice(@F, $IX-1, (@F-$N) + 1)); # テキスト部分の抜き出し splice(@F, $IX-1, 0, qq(").join(",", @ts).qq(")); # ""をつけて戻す print join(",", @F)."\n"; # CSV に戻す }
ID = 4 N = 10 with open('sample.csv') as f: for line in f.read().splitlines(): pre = line.split(",", ID - 1) post = pre[-1].rsplit(",", N - ID) l = pre[:-1] l.append('"' + post[0] + '"') l.extend(post[1:]) print(",".join(l))
1,1,0,ああ,いい,ううう。,21,0,0,0,0,0 ↓ 最初の split で前から4分割(3箇所で切断) 1 / 1 / 0 / ああ,いい,ううう。,21,0,0,0,0,0 ↓ 一番右の塊を次の rsplit で後ろから7分割(6箇所で切断)。 ああ,いい,ううう。 / 21 / 0 / 0 / 0 / 0 / 0 ↓ 1 / 1 / 0 / ああ,いい,ううう。 / 21 / 0 / 0 / 0 / 0 / 0 ↓ 1,1,0,"ああ,いい,ううう。",21,0,0,0,0,0
今はできない。代わりの方法。brew install mongodb
brew tap mongodb/brew brew install mongodb-community cat /usr/local/etc/mongod.conf systemLog: destination: file path: /usr/local/var/log/mongodb/mongo.log logAppend: true storage: dbPath: /usr/local/var/mongodb net: bindIp: 127.0.0.1
brew services start mongodb-community
sudo yum install -y mongodb-org
sudo systemctl start mongod
mongo use test show dbs db.stats() # db.createCollection('hello') show collections db.hello.stats() db.hello.insert({'uid':123, 'test':'World'}) db.hello.insert({'uid':"oreore", 'text':'This is a pen.'}) db.hello.insert({'uid':"you", 'text':'Today is ...'}) db.hello.find() db.hello.findOne() db.hello.findOne()["uid"] var r = db.hello.find() while (r.hasNext()) printjson(r.next()) quit()
mongodump -d test mongo use test db.hello.drop() db.dropDatabase() show dbs quit() mongorestore ./dump
mongotop mongostat
db.hello.find({}, {uid: 1, text: 1, _id: 0}) db.hello.find({$or: [{'uid':123}, {'uid':"you"}]}, {uid: 1, text: 1, _id: 0}) db.hello.find({$or: [{'uid':123}, {'uid':"you"}, {'uid':"oreore"}]}, {ud: 1, text: 1, _id: 0}) db.hello.find({$or: [{'uid':123}, {'uid':"you"}, {'uid':"NO"}]}, {uid: 1, text: 1, _id: 0})
db.hello.update({"uid" : "you"}, {$set : {"text":"こんにちは"}}) db.hello.insert({'uid':"me", 'hist':[{'ymd':20201020,'val':12}]}) db.hello.update({'uid':"me"}, {$push:{'hist':{'ymd':20201024,'val':38}}}) db.hello.update({'uid':"me"}, {$set:{'last-update':ISODate("2020-10-24T12:55:15")}})
テストスクリプト:pip install pymongo
from pymongo import MongoClient import datetime dt_now = datetime.datetime.now() client = MongoClient('localhost',27017) db = client.test col = db.hello for i in col.find(): print(i) col.update_one({'uid':"me"}, { '$push':{'hist':{'ymd':dt_now,'val':189}}, '$set':{'last-update':dt_now} }) print(col.find_one({'uid':"me"}))
亡くなった人のうち、20代は1人で全体に占める割合は0.3%、30代は1人で0.3%、40代は5人で1.5%、50代は16人で4.9%、60代は32人で9.9%、70代は93人で28.6%、80代は113人で34.8%、90代は61人で18.8%、100歳以上は3人で0.9%でした。
ddf['死亡者数'] = (0,0,0,0,1,9,18,40,38,16,0)
ddf['死亡者数'] = (0,0,1,1,5,16,32,93,113,61,3)
都によると、都が発表している1日あたりの感染者数は、前日午前9時の締め切り以降、当日午前9時までに都にファクスで報告された人数だ。
都内での感染者数が最初のピークを迎えた4月は締め切りは正午ごろだった。だが、都が指標の公表を始めた5月半ばに午前9時に前倒ししたという。
こうしたやりとりを重ねた末、年代別の人数や感染経路などと合わせて、午後7時~8時ごろ、その日の感染者の内訳が公表される。昼や午後に全体の感染者数のみがテレビやネットの速報で流れるのは、朝日新聞を含めて先に固まった感染者数を取材している報道機関があるためだ。
ただ、都の担当者は、実際に検査で陽性と判明した日から都の公表までに「3日ほどかかる」と認める。その理由はアナログな集計方法にある。感染がわかると、まず医師が患者の情報を記した発生届を作成する。それを各医療機関が管轄の保健所にファクスで送信する。受け取った保健所は、記載に不備がないか確認した上で、誤送信の可能性に備えて、個人情報を黒塗りにするなどして都にファクスで転送する。医師、保健所、都でそれぞれ作業が生じ、これまでの都の経験則から、検査結果の判明日から都が公表するまでにおおむね3日かかる傾向にあるという。
本章の演習においては,表計算ソフトウェア,統計処理ソフトウェアR,プログラミング言語Pythonを想定している。Rに関しては,v.3.6以上,統合開発環境であるRStudioの利用が望ましい。Pythonに関しては,v.3.7以上で,AnacondaのJupyter Notebook,Jupyter Labo,Spyderなどの統合開発環境での利用を想定している。また一部の学習では,Google Colaboratoryも活用している。こういう環境が整ってるって、ありがたい時代ですよねえ。