前提・実現したいこと
csvのデータをコピーし、エクセルの特定のセルを指定して、
そのセルを起点として貼り付けたいです。
(貼り付け先を指定できれば、エクセルではなくcsvファイルに貼り付けるのでも問題ないです。)
例えば、下記のように複数セルにまたがっている情報すべてをコピペして、
エクセルファイルのA2セルが起点になるように貼り付けたいです。
A1 B1
data_1
0 1
data_2
0 2
(ちなみにですが、このあと、複数のcsvファイルを読み込み、
それぞれ、同じファイル上で別の貼り付け先のセルを指定して、貼り付けたいと考えています。)
発生している問題・エラーメッセージ
Traceback (most recent call last): File "C:/Users/xx/Desktop/test/merge_csv_test.py", line 11, in <module> ws.cell(row = 2, column = 1, value = data_list) File "C:\Users\xx\Anaconda3\lib\site-packages\openpyxl\worksheet\worksheet.py", line 235, in cell cell.value = value File "C:\Users\xx\Anaconda3\lib\site-packages\openpyxl\cell\cell.py", line 239, in value self._bind_value(value) File "C:\Users\xx\Anaconda3\lib\site-packages\openpyxl\cell\cell.py", line 222, in _bind_value raise ValueError("Cannot convert {0!r} to Excel".format(value)) ValueError: Cannot convert [['data_1', ''], ['0', '1'], ['data_2', ''], ['0', '2']] to Excel
該当のソースコード
python
1import openpyxl as px 2import csv 3 4with open("test.csv", newline='') as test_file: 5 data_list = list(csv.reader(test_file, delimiter=',')) 6 7# Excelファイルを読み込む 8wb = px.load_workbook('test.xlsx') 9ws = wb['Sheet1'] 10 11ws.cell(row = 2, column = 1, value = data_list)
試したこと
csvに記入しているデータを、1セルのみにしたのですが、同じエラーが出ました。
(本来は複数セルの情報を貼り付けたいのですが)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/28 09:34
退会済みユーザー
2020/03/28 09:38
2020/03/28 09:47
退会済みユーザー
2020/03/28 09:53
2020/03/28 10:42
退会済みユーザー
2020/03/28 10:51
2020/03/28 12:11