我在文本文件中插入的代码如下:
foreach (var kvauthor in _tauthorData)
{
foreach (var coAuthor in kvauthor.Value.CoAuthors)
{
twObjClus.WriteLine("AuthorID: {0}, AuthorName: {1}, ClusterID: {2}, PaperID: {3},
CoAuthors: {4}, PaperCategory: {5}, Venue: {6}, Year: {4}",
eAuthor.AuthorID, eAuthor.AuthorName, curCluster.GetClusterID(),
kvauthor.Key, coAuthor, kvauthor.Value.PaperCategory,
kvauthor.Value.VenueID, kvauthor.Value.Year);
}
}
我想将所有这些数据插入到csv文件中,但我尝试了以下方法:
var csv = new StringBuilder();
foreach (var kvauthor in _tauthorData)
{
foreach (var coAuthor in kvauthor.Value.CoAuthors)
{
csv.AppendFormat("{0},{1},{2},{3},{4},{5},{6}",AuthorID: {0}, AuthorName: {1}, ClusterID: {2}, PaperID: {3},
CoAuthors: {4}, PaperCategory: {5}, Venue: {6}, Year: {4}",
eAuthor.AuthorID, eAuthor.AuthorName, curCluster.GetClusterID(),
kvauthor.Key, coAuthor, kvauthor.Value.PaperCategory,
kvauthor.Value.VenueID, kvauthor.Value.Year);
}
}
如何将此数据逐行插入到带有列标题的csv文件中?
添加列标题是微不足道的,只需做一次(当打开文件或创建实例时,例如StringBuilder
,稍后将用于添加行)。
var csv = new StringBuilder();
// add column headers first
csv.AppendLine("AuthorID,AuthorName, ..."); // and so on
// add data
foreach (var kvauthor in _tauthorData)
foreach (var coAuthor in kvauthor.Value.CoAuthors)
{
csv.AppendLine($"{coAuthor.AuthorId},{coAuthor.Name}, ..."); // and so on
// if you don't have C# 6.0
// csv.AppendFormat("{0},{1}, ... {N}", coAuthor.AuthorId, coAuthor.Name, ..., Environmental.NewLine");
}
File.WriteAllText(path, csv.ToString());
注意:您可以使用AppendLine
添加环境。自动换行,否则(如果使用
AppendFormat
)手动将其添加到string
的末尾。
我正试图找到一种更好的方法将数据写入csv文件。现在,每个循环迭代都会将标题和数据附加到文件中,如下所示 我想修改我的逻辑,以便我只得到像这样的数据。 任何关于我可以改变的建议都非常感谢。谢啦
我正试图用C#语言逐行写入一个文件。这是我的功能 整个函数在一个循环中运行,每一行都应该写入文件。在我的例子中,下一行覆盖现有行,最后,我在csv文件中只得到一条记录,这是最后一条。如何写入文件中的所有行?
我正在尝试编写我的第一个json文件。但由于某种原因,它实际上不会写入文件。我知道它在做一些事情,因为在运行转储之后,我放入文件中的任何随机文本都会被擦除,但它的位置上没有任何东西。不用说,但加载部分抛出和错误,因为那里什么都没有。这难道不应该将所有json文本添加到文件中吗?
问题内容: 将结构转储到提供的csv文件中的惯用golang方法是什么?我在一个func里面,我的结构作为接口{}传递: 为什么要使用界面{}?-从JSON读取数据,可能会返回一些不同的结构,因此尝试编写足够通用的函数。 我的类型的一个例子: 问题答案: 如果您使用具体类型,将会容易得多。您可能想要使用该软件包,这是一个相关示例;https://golang.org/pkg/encoding/cs
我使用opencsv 2.3写入csv文件。 此代码将每行写入单个单元格,例如a_1“28”。 如何将写入第一列,将写入第二列? 更新1:我认为这段代码适用于opencsv 3.1,但似乎不适用于早期版本。
问题内容: 我有一个pandas数据框,我想将其写入CSV文件。我正在使用以下方法: 并得到错误: 有什么方法可以轻松解决此问题(即我的数据框中有Unicode字符)吗?有没有一种方法可以使用例如“ to-tab”方法(我认为不存在)写入制表符分隔文件而不是CSV? 问题答案: 要用制表符分隔,可以使用参数: 要使用特定的编码(例如),请使用参数: