【解決方法】ライブラリのない既存の Excel ファイルに列を追加するにはどうすればよいですか?

プログラミングQA


こんにちは、既に複数の列を含む CSV ファイルがあります。私の目標は、この既存のファイルに新しいデータを含む追加の列を追加することです。

Excel ファイルを CSV にエクスポートし、filestream で編集してから Excel としてエクスポートしたい

私が試したこと:

<pre> using (FileStream sw = File.OpenWrite(View.path))
                {
                    var data = Encoding.Unicode.GetBytes("Preis" + "\t" + "Teil" + "\n");
                    sw.Write(data, 0, data.Length);

                    foreach (var r in View.ocEingaben)
                    {
                        data = Encoding.Unicode.GetBytes(r.Preis.ToString("F")  + "\t" + r.Teil +"\n");
                        sw.Write(data, 0, data.Length);
                    }

                }

View.Path は、選択したファイルのパスです。 View.ocEingaben には、ファイルの最後の既存の列の横に追加したいデータがありますが、それは機能しません

どうすればこれを達成できるか、アイデアやヒントはありますか?

解決策 1

ここを参照してください: それはデータベースではありません、おい![^]

CSV ファイルは単なるテキストです。行の「組み込み」の意味はなく、列はほとんどありません。その書式設定情報はすべて、データを読み取るソフトウェアによって追加されます。 それが持っているのは、「これが行の終わりです」という制御文字としてソフトウェアによって解釈されるいくつかの値だけです。

列を配置する場所がないため、列を直接追加することはできません。 代わりに、CSV データをアプリケーションに (行ごとまたは全体として) 読み取り、そのデータに列を追加して、新しい行を新しいファイルに書き戻す必要があります。 その後、元のファイルを削除して、新しいファイルの名前を変更できます。

ファイル内の単一の文字を挿入または削除する場合でも、同じプロセスが必要です。ファイル データを挿入または削除ポイントまで読み取り、新しいファイルに書き込み、文字を追加またはスキップし、残りのファイルをファイルにコピーします。新しいファイル。

ファイルの行列の追加、変更、または削除を開始する場合は、そのように設計されたデータベースを実際に使用する必要があります。

解決策 2

It is not possible to add a column to an existing Excel file without using a library. To perform this task, you will need to use a library or software that can read and write to Excel files, such as Microsoft Excel, Google Sheets, or a third-party library such as Openpyxl or Pandas.

Here is an example using the Pandas library in Python:

python

import pandas as pd

# Load the existing Excel file into a Pandas DataFrame
df = pd.read_excel("existing_file.xlsx")

# Add a new column to the DataFrame
df["new_column"] = [value1, value2, value3, ...]

# Write the DataFrame back to the Excel file
df.to_excel("existing_file.xlsx", index=False)

コメント

タイトルとURLをコピーしました