###やりたいこと
xlwingsでエクセルからテーブルを読み込み、pandasで扱うことを考えています。
テーブルにはカラムが2つあり、
A列:日本語を含む文字列
B列:数値のみ
となっています。
エクセル上ではA列は文字列、B列は標準に設定されています。
この時、以下のコードを実行すると次のような結果になります。
python
1import xlwings as xw 2import pandas as pd 3 4wb = xw.Book('something.xlsx') 5sht = wb.sheets['somesheet'] 6df = sht.range('A1').options(pd.DataFrame, expand='table').value 7 8 9df.dtypes 10"""出力 11A object 12B float64 13dtype: object 14"""
ここで、A列をstr型に変換したいと思っています。
###やったこと
以下のサイトの情報を参考にstr型への変換を試みました。
https://stackoverflow.com/questions/33957720/how-to-convert-column-with-dtype-as-object-to-string-in-pandas-dataframe
python
1df['column'] = df['column'].astype('|S80') 2df['column'] = df['column'].astype('|S')
上記二つの方法に関しては、エラー(ValueError: setting an array element with a sequence)が、他の方法に関しては、実行時エラーは出ませんでしたが、変換は行われていませんでした。
###実行環境
Windows10 64bit
Python 3.6.0
Powershell
$PSVersionTable
Name Value
PSVersion 5.1.14393.1944
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.1944
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
###最後に
列をobject型からstr型へ変換するやり方をどなたかご教授いただけたらと思います。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/09 02:49 編集
2018/02/09 02:07
2018/02/09 02:57