質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.40%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

integer

integerは、一般的に整数を表します。プラスやマイナス、ゼロもなりうる全ての数です。(例 : -2, -1, 0, 1, 2...)

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

364閲覧

CSV出力時に数値になってない?

kannnna

総合スコア7

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

integer

integerは、一般的に整数を表します。プラスやマイナス、ゼロもなりうる全ての数です。(例 : -2, -1, 0, 1, 2...)

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

0クリップ

投稿2024/06/23 04:53

編集2024/06/23 05:51

実現したいこと

pythonで作成したCSVの商品リストをメルカリショップスにアップロードしたい

発生している問題・分からないこと

どの方法で作成しても、アップロードすると、「販売価格は数字で入力してください」というエラーが出ます。

該当のソースコード

python

1# 出品データ作成 2uploadCSV = [] 3# 販売価格 4for i in items: 5 sellprice = -(-(500 * 0.8) // 0.9) 6 c = [i[0], # 商品画像名_1 7 i[1], # 商品画像名_2 8 i[2], # 商品画像名_3 9 i[3], # 商品画像名_4 10 i[4], # 商品画像名_5 11 i[5], # 商品画像名_6 12 i[6], # 商品画像名_7 13 i[7], # 商品画像名_8 14 i[8], # 商品画像名_9 15 i[9], # 商品画像名_10 16 f"{title}"[:130], # 商品名 17 f"\n{setumei[:2900]}", # 商品説明 18 "", # SKU1_種類 19 100, # SKU1_在庫数 20 "", # SKU1_商品管理コード 21 "", # SKU1_JANコード 22 "", # SKU2_種類 23 "", # SKU2_在庫数 24 "", # SKU2_商品管理コード 25 "", # SKU2_JANコード 26 "", # SKU3_種類 27 "", # SKU3_在庫数 28 "", # SKU3_商品管理コード 29 "", # SKU3_JANコード 30 "", # SKU4_種類 31 "", # SKU4_在庫数 32 "", # SKU4_商品管理コード 33 "", # SKU4_JANコード 34 "", # SKU5_種類 35 "", # SKU5_在庫数 36 "", # SKU5_商品管理コード 37 "", # SKU5_JANコード 38 "", # SKU6_種類 39 "", # SKU6_在庫数 40 "", # SKU6_商品管理コード 41 "", # SKU6_JANコード 42 "", # SKU7_種類 43 "", # SKU7_在庫数 44 "", # SKU7_商品管理コード 45 "", # SKU7_JANコード 46 "", # SKU8_種類 47 "", # SKU8_在庫数 48 "", # SKU8_商品管理コード 49 "", # SKU8_JANコード 50 "", # SKU9_種類 51 "", # SKU9_在庫数 52 "", # SKU9_商品管理コード 53 "", # SKU9_JANコード 54 "", # SKU10_種類 55 "", # SKU10_在庫数 56 "", # SKU10_商品管理コード 57 "", # SKU10_JANコード 58 "", # ブランドID 59 sellprice, # 販売価格 60 categoryID, # カテゴリID 61 1, # 商品の状態 62 1, # 配送方法 63 "jp40", # 発送元の地域 64 3, # 発送までの日数 65 1 # 商品ステータス2:公開 66 ] 67 uploadCSV.append(c) 68 69print(len(uploadCSV)) 70 71import csv 72if len(uploadCSV) > 2: 73 # 二次元配列から出品用CSV作成 74 with open('C:\\Users\\user\\Desktop\\sample_writer.csv', 'w', encoding='shift-jis') as f: 75 writer = csv.writer(f, lineterminator="\n") 76 writer.writerows(uploadCSV) 77

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

①pandasでcsv作成してみましたが、同じエラーでした。
データフレームを作成
df = pd.DataFrame(uploadCSV, columns=["商品画像名_1", "商品画像名_2", "商品画像名_3", "商品画像名_4", "商品画像名_5", "商品画像名_6", "商品画像名_7", "商品画像名_8", "商品画像名_9", "商品画像名_10", "商品名", "商品説明", "SKU1_種類", "SKU1_在庫数", "SKU1_商品管理コード", "SKU1_JANコード", "SKU2_種類", "SKU2_在庫数", "SKU2_商品管理コード", "SKU2_JANコード", "SKU3_種類", "SKU3_在庫数", "SKU3_商品管理コード", "SKU3_JANコード", "SKU4_種類", "SKU4_在庫数", "SKU4_商品管理コード", "SKU4_JANコード", "SKU5_種類", "SKU5_在庫数", "SKU5_商品管理コード", "SKU5_JANコード", "SKU6_種類", "SKU6_在庫数", "SKU6_商品管理コード", "SKU6_JANコード", "SKU7_種類", "SKU7_在庫数", "SKU7_商品管理コード", "SKU7_JANコード", "SKU8_種類", "SKU8_在庫数", "SKU8_商品管理コード", "SKU8_JANコード", "SKU9_種類", "SKU9_在庫数", "SKU9_商品管理コード", "SKU9_JANコード", "SKU10_種類", "SKU10_在庫数", "SKU10_商品管理コード", "SKU10_JANコード", "ブランドID", "販売価格", "カテゴリID", "商品の状態", "配送方法", "発送元の地域", "発送までの日数", "商品ステータス"])
CSV ファイル出力
df.to_csv("C:\Users\user\Desktop\sample_writer.csv", encoding="shift-jis", index=False)
結果の表示
df

②販売価格の部分を次にしても、同じエラーでした。
・タイプをintにする
・タイプをfloatにする
・頭に「'」をいれる
・終わりに「.0」を入れる

③csv作成時のエンコードをutf-8にする。

④販売価格を「99999」にしたらアップロードできました。しかし、計算式を販売価格に反映させる方法が分かりません。。

補足

何卒宜しくお願い致します。

tatsu99👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melian

2024/06/23 05:28

商品説明の項目に改行コードが含まれています。このために項目がずれてしまっているのかもしれません。 f"\n{setumei[:2900]}", # 商品説明 この様な場合は、項目をダブルクォートで囲む必要があります。なので、csv.QUOTE_NONNUMERIC を指定してみるとよいかもしれません。 writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC) writer = csv.writer(f, lineterminator="\n")
hiroki-o

2024/06/23 05:42

これだと、sellpriceはfloatになりますが、どうなんでしょう? sellprice = -(-(500 * 0.8) // 0.9)
kannnna

2024/06/23 05:48

ご返信ありがとうございます! 商品説明は改行可能で、問題なくuploadされています。お気遣いありがとうございます。 どうしたらいいと思いますか??
otn

2024/06/23 05:48

CSVファイルの中味が書かれてないのですが、見てない(内容を確認していない)ということですかね? 見れば一発で原因が分かると思うのですが
kannnna

2024/06/23 05:52

csvファイルの中身が、確認された商品説明等のリストなのですが、他に何を見るのでしょうか??
kannnna

2024/06/23 05:53

csvファイルを開いていないという意味なら、記載した通り、確認された商品説明等のリストと何ら変わらないです。文字化けもしていませんし、計算した結果の数字が販売価格の欄に入力され、書式が標準になっています。具体的な解決案はございませんか?
hiroki-o

2024/06/23 06:00

99999を99999.0に変更してもアップロードできますか? あと、「確認された商品説明等のリスト」とは、何ですか?
meg_

2024/06/23 06:31

> 書式が標準になっています。 もしかして表計算ソフトで開いていますか?アプリケーションによっては自動で表示形式を変更してしまうこともありますがそのあたりは大丈夫でしょうか?(例えば、"1/1"を1に自動的に変換するなど)
otn

2024/06/23 07:25

> 具体的な解決案はございませんか? CSVファイルの中味をダイレクトに見ないと原因が分からないので、アドバイス不能です。 メモ帳など単なるエディターで開いて、質問文にコードブロックを追加して、そこにコピペしましょう。 コマンドプロンプトで、「clip < CSVファイル名」でコピーするのが良いかもしれない。 CSVファイルの内容確認をExcelなどで行っているのなら何の確認にもならないです。
guest

回答1

0

自己解決

皆様ご協力ありがとうございました!解決できました!
CSVファイルの中味をダイレクトに見なくても解決できる内容でした。

投稿2024/06/24 22:54

kannnna

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.40%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問