-3
テーブルに次の列があります。SQL Server:列の値を5列に解析します
daily;1;21/03/2015;times;10
daily;1;01/02/2016;times;8
monthly;1;01/01/2016;times;2
weekly;1;21/01/2016;times;4
どのように私は別の列に;
区切り文字で、これを解析することができますか?
テーブルに次の列があります。SQL Server:列の値を5列に解析します
daily;1;21/03/2015;times;10
daily;1;01/02/2016;times;8
monthly;1;01/01/2016;times;2
weekly;1;21/01/2016;times;4
どのように私は別の列に;
区切り文字で、これを解析することができますか?
これを行うには、パンダにセミコロンで区切り、SQL Serverに戻す方法があります。私がテストした例は下記を参照してください。
テストデータSETUP
CODE
import sqlalchemy as sa
import urllib
import pandas as pd
server = 'yourserver'
read_database = 'db_to_read_data_from'
write_database = 'db_to_write_data_to'
read_tablename = 'table_to_read_from'
write_tablename = 'table_to_write_to'
read_params = urllib.quote_plus("DRIVER={SQL Server};SERVER="+server+";DATABASE="+read_database+";TRUSTED_CONNECTION=Yes")
read_engine = sa.create_engine("mssql+pyodbc:///?odbc_connect=%s" % read_params)
write_params = urllib.quote_plus("DRIVER={SQL Server};SERVER="+server+";DATABASE="+write_database+";TRUSTED_CONNECTION=Yes")
write_engine = sa.create_engine("mssql+pyodbc:///?odbc_connect=%s" % write_params)
#Read from SQL into DF
Table_DF = pd.read_sql(read_tablename, con=read_engine)
#Delimit by semicolon
parsed_DF = Table_DF['string_column'].apply(lambda x: pd.Series(x.split(';')))
#write DF back to SQL
parsed_DF.to_sql(write_tablename,write_engine,if_exists='append')
あなたは上の複数の解決策を見つけることができます。http://sqlperformance.com/2012/07/tを-sql-queries/split-strings – FLICKER
[アイテムxにアクセスできるように文字列を分割するにはどうすればよいですか?](http: /stackoverflow.com/questions/2647/how-do-i-split-a-string-so-i-can-access-item-x) –