回答編集履歴
1
回答追加
answer
CHANGED
@@ -5,17 +5,26 @@
|
|
5
5
|
理由は、エクセルで入力したときの"'"はデータではないからです。
|
6
6
|
[先頭の「'」(シングルコーテーション)を削除する](http://officetanaka.net/excel/function/tips/tips15.htm) をお読みください。
|
7
7
|
|
8
|
-
なぜ、シングルクォートが入った状態で書き込みたいのかの理由が、別のところから取ってきた文字列の先頭がシングル
|
8
|
+
なぜ、シングルクォートが入った状態で書き込みたいのかの理由が、別のところから取ってきた文字列の先頭がシングルクォーテーションであるという問題であれば
|
9
9
|
```python
|
10
10
|
>>> y = "'16-1"
|
11
11
|
>>> print(y[1:])
|
12
12
|
16-1
|
13
13
|
```
|
14
|
-
を使って、先頭のシングル
|
14
|
+
を使って、先頭のシングルクォーテーションを削除してから
|
15
15
|
|
16
16
|
```python
|
17
17
|
sheet4.cell(row=1 + r, column=1).value = y[1:]
|
18
18
|
```
|
19
19
|
とすれば期待通りの結果になります。
|
20
20
|
|
21
|
-
その他の理由でしたら、その理由を質問欄に追加して下さい。
|
21
|
+
その他の理由でしたら、その理由を質問欄に追加して下さい。
|
22
|
+
|
23
|
+
シングルクォーテーションなしで書き込んだ場合、
|
24
|
+
「2桁年を使用した日付文字列」と判断されてしまうのかエラーが出てしまいます。
|
25
|
+
|
26
|
+
とのことですが、エラーではなく警告ですね。
|
27
|
+
エクセルで別のセルに「'16-1」を入力しても同じ警告が出るので、シングルクォーテーションは問題の解決にはならないと思います。
|
28
|
+
エクセルの方で書式設定を文字列にしてみましたがそれでも同じ警告が出ました。
|
29
|
+
|
30
|
+
姑息な手段ですが" 16-1"というように全角空白で始まる文字列だと、あまり見映えが変わりませんし、日付文字列と解釈されることはありませんでした。
|