我正在尝试为我的可枚举列表创建一个CSV扩展方法,我很难过.这是我创建简单枚举列表的方法:
var CAquery = from temp in CAtemp
join casect in CAdb.sectors
on temp.sector_code equals casect.sector_code
select new
{
CUSIP = temp.equity_cusip,
CompName = temp.company_name,
Exchange = temp.primary_exchange
};
CAquery.WriteToCSVFile();
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止创建扩展方法(我认为是错误的):
public static class CSVExtensions
{
public static void WriteToCSVFile(this IEnumerable<T> myList)
{
Run Code Online (Sandbox Code Playgroud)
你看到我做错了吗?
我有一个非常简单的LinqToSql列表.
var list = DB.Where(c => c.Status.Equals("active")).Select(c => c.Name);
Run Code Online (Sandbox Code Playgroud)
我正在尝试将该列表导入MongoDB.这是我到目前为止所拥有的:
const string connectionString = "mongodb://localhost";
var client = new MongoClient(connectionString);
MongoServer server = client.GetServer();
MongoDatabase database = server.GetDatabase("test");
var collection = database.GetCollection("salesppl");
collection.Insert(list);
Run Code Online (Sandbox Code Playgroud)
我也尝试过InsertBatch和Save,但没有运气.以下是我为每个错误消息:InsertBatch
BsonSerializationException:Serializer StringSerializer期望序列化选项类型为RepresentationSerializationOptions,而不是DocumentSerializationOptions.
插入
BsonSerializationException:Serializer EnumerableSerializer期望ArraySerializationOptions类型的序列化选项,而不是DocumentSerializationOptions.
保存
InvalidOperationException:Save只能用于具有Id的文档.
注意: 我认为这没有任何意义,但我通过LinqPad这样做.
那么,如何将此列表保存到MongoDb?
我如何将此SQL查询转换为LINQ?
SELECT company.ticker, company.primary_analyst,
personnel.last_name, company.research_associate,
company.secondary_associate, company.coverage_status
FROM company
INNER JOIN personnel ON company.primary_analyst = personnel.dpinitials
WHERE personnel.last_name='marley' AND company.associate='ml'
ORDER BY company.coverage_status
Run Code Online (Sandbox Code Playgroud) 我知道你可以从win cmd行打开一个Excel文件.但是如何使用win cmd在该文件中打开特定的电子表格?
我有一个基本的linq查询,我想把它放到CSV文件中.从LinqPad运行时,以下代码工作正常:
var phxTix = Companies
.Select (c => new {
Ticker = c.Ticker.Trim(),
FameTick = c.Coverage_Status.Trim()});
Util.WriteCsv(phxTix, @"c:\Temp\phxticks.csv");
Run Code Online (Sandbox Code Playgroud)
但是当我从命令行运行以下Powershell脚本时出现错误:
$srcLoc = "c:\linqscripts\GetPhxTix.linq"
$destLoc = "c:\Temp\phxticks.csv"
lprun -lang=e -cxname=myDB -format=csv $srcLoc > $destLoc
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
lprun : c:\Users\AppData\Local\Temp\LINQPad\_ibakcumi\query_bggevp.cs(35,36) : error CS1513: }
expected
At c:\PS\GetPhxTicksJob.ps1:4 char:1
+ lprun -lang=e -cxname=myDB $srcLoc > $destLoc
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (c:\Users\...513: } expected:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
c:\linqscripts\GetPhxTix.linq(31,3) : error CS1519: Invalid token ')' in class, struct, or
interface member declaration …Run Code Online (Sandbox Code Playgroud) 我正在尝试从下面提到的网站中提取价格。我正在使用AngleSharp进行提取。在网站上,价格列在下面(例如):
<span class="c-price">650.00 </span>
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码进行提取。
using AngleSharp.Parser.Html;
using System.Net;
using System.Net.Http
//Make the request
var uri = "https://meadjohnson.world.tmall.com/search.htm?search=y&orderType=defaultSort&scene=taobao_shop";
var cancellationToken = new CancellationTokenSource();
var httpClient = new HttpClient();
var request = await httpClient.GetAsync(uri);
cancellationToken.Token.ThrowIfCancellationRequested();
//Get the response stream
var response = await request.Content.ReadAsStreamAsync();
cancellationToken.Token.ThrowIfCancellationRequested();
//Parse the stream
var parser = new HtmlParser();
var document = parser.Parse(response);
//Do something with LINQ
var pricesListItemsLinq = document.All
.Where(m => m.LocalName == "span" && m.ClassList.Equals("c-price"));
Console.WriteLine(pricesListItemsLinq.Count());
Run Code Online (Sandbox Code Playgroud)
但是,我没有任何物品,但是它们在网站上。我究竟做错了什么?如果不推荐使用AngleSharp,该怎么用?我应该使用什么代码?
我正在尝试获取SEDOL和ADP值的列表.以下是我的json文字:
{
"DataFeed" : {
"@FeedName" : "AdminData",
"Issuer" : [{
"id" : "1528",
"name" : "ZYZ.A a Test Company",
"clientCode" : "ZYZ.A",
"securities" : {
"Security" : {
"id" : "1537",
"sedol" : "SEDOL111",
"coverage" : {
"Coverage" : [{
"analyst" : {
"@id" : "164",
"@clientCode" : "SJ",
"@firstName" : "Steve",
"@lastName" : "Jobs",
"@rank" : "1"
}
}, {
"analyst" : {
"@id" : "261",
"@clientCode" : "BG",
"@firstName" : "Bill",
"@lastName" : "Gates",
"@rank" : "2" …Run Code Online (Sandbox Code Playgroud) 合并2个LINQ列表后,我遇到了问题.我收到以下错误:查询包含对在不同数据上下文中定义的项的引用.
这就是我构建我的最终2个LINQ列表的方式:
CAPDBDataContext CAdb = new CAPDBDataContext();
USPDBDataContext USdb = new USPDBDataContext();
var ExceptionList = Special_texts.Where(x => x.name.Equals("ExceptionList"))
.Select(x => x.special_text1)
.AsEnumerable()
.Select(x => x.Split(new[] { '#' }, StringSplitOptions.RemoveEmptyEntries))
.SelectMany(x => x)
.ToList();
var USquery = from uscomp in USdb.UScompanies
join ussect in USdb.USsectors
on uscomp.sector_code equals ussect.sector_code
select new
{
uscomp.company_name,
uscomp.primary_exchange,
ussect.description
};
var CAtemp = from x in CAdb.companies
where !ShefalisList.Contains(x.ticker)
select x;
var CAquery = from temp in CAtemp
join casect in CAdb.sectors
on temp.sector_code equals …Run Code Online (Sandbox Code Playgroud) 我正在使用Office 2010互操作和C#4.如何将word文档的第一页转换为PDF?这个问题("我如何以编程方式将Word文件转换为PDF?")帮助我开始,但它只显示了如何将整个文档保存为PDF.
有办法吗?
我该怎么做呢?
这对你们大师来说可能是一件非常简单的事情,但我不熟悉C#4和INTEROP.因此,我很难过.这是我的问题.我有一个具有重复数据的excel列,我想将其修剪为唯一值.这是数据的样子:
ColA ColB
10 Adam
12 Jane
14 Adam
18 Adam
20 Eve
Run Code Online (Sandbox Code Playgroud)
所以,最后我只想要ColB的独特名字:
Adam
Jane
Eve
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过将所有这些值放入List中然后向其中添加Distinct功能来实现此目的.但我认为我做错了什么.无论如何,这是我的计划:
Application XLApp = new Microsoft.Office.Interop.Excel.Application();
var XLBook = XLApp.Workbooks.Open(@"c:\temp\Test.xls", ReadOnly: false);
// Grab the 1st sheet
var XLSheet = (Microsoft.Office.Interop.Excel.Worksheet)XLBook.Worksheets.get_Item(1);
XLApp.Visible = true;
// I think I need help with the following lines
IEnumerable<string> myCol = XLApp.Range["B2", XLApp.Range["B2"].End[XlDirection.xlDown]].Select();
myCol.ToList().Distinct();
XLBook.Close(false, System.Reflection.Missing.Value, System.Reflection.Missing.Value);
((_Application)XLApp).Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(XLApp);
Run Code Online (Sandbox Code Playgroud)
如何使用C#4对Excel执行此操作?
提前致谢.
我相信这对你来说可能是另一个简单的LINQ大师.
我有一个表格,其中包含由"#"分隔的字符串.在使用LINQ选择字段后,如何将每个字符串拆分为不同的列表?我的字符串列表如下所示:
#A#B#C#D#G#F
Run Code Online (Sandbox Code Playgroud)
我用一个简单的LINQ查询来访问它:
from x in Special_texts
where x.Name.Equals("ExceptionList")
select x.Content
Run Code Online (Sandbox Code Playgroud)
最后,我的列表应包含:
A
B
C
D
G
F
Run Code Online (Sandbox Code Playgroud)
提前致谢.
这似乎是一个难以破解的难题.我希望你的大师很容易.我想知道这是否可以使用LINQ.
这是我的清单:
ABC,1,RON,26,73
CDE,13,JON,21,18
ERROR,ERROR LINE,ERROR LINE,DEF
DEF,NOT AVAILABLE,"",JANE,32,13
GHI,23,DAWN,14,25
Run Code Online (Sandbox Code Playgroud)
我需要用这个列表完成两件事:
最终列表应如下所示:
ABC,1,RON,26,73
CDE,13,JON,21,18
GHI,23,DAWN,14,25
ERROR,ERROR LINE,ERROR LINE,DEF
DEF,NOT AVAILABLE,JANE,32,13
Run Code Online (Sandbox Code Playgroud)
现在,我完整,详细的LINQ查询如下所示:
var myList = (File.ReadLines(myFile.ToString(), Encoding.GetEncoding(1250)))
.ToList()
.OrderBy(l => l[0].ToString())
.Select(l => new specialclass {
Comp = l[0].ToString(),
Place = Convert.ToInt32(l[1].ToString()),
Name = l[2].ToString(),
Limit = Convert.ToInt32(l[3].ToString()),
Limit2 = Convert.ToInt32(l[4].ToString())
});
Run Code Online (Sandbox Code Playgroud) linq ×9
c# ×8
linq-to-sql ×4
c#-4.0 ×2
anglesharp ×1
cmd ×1
command-line ×1
excel ×1
import ×1
inner-join ×1
interop ×1
json.net ×1
linq-to-json ×1
linqpad ×1
list ×1
mongodb ×1
powershell ×1
split ×1
sql ×1
vbscript ×1
web-scraping ×1
where ×1
windows ×1
word-2010 ×1