System.Data.Datatables我有一个可以从 TableName 和 ColumnName-Array 的简单输入创建的函数。填写表格后,我想将它们添加到数据集并将其导出到 Excel 文档中。
下面的代码做到了这一点,但是在导出到 Excel 时,我发现有一点不太优雅。每个表都必须导出为 csv,然后重新导入到 Excel。
有没有更好更简洁的方法直接在 Excel 中使用 DataTables?
Function MakeTable ($TableName, $ColumnArray)
{
$btab = New-Object System.Data.DataTable("$TableName")
foreach($Col in $ColumnArray)
{
$MCol = New-Object System.Data.DataColumn $Col;
$btab.Columns.Add($MCol)
}
return , $btab
}
function DataSetToExcel ($Ds, $workdirectory)
{
$excel = New-Object -ComObject excel.application
$workbook = $excel.Workbooks.Add(1)
$i = 0
for($DsIndex=0;$DsIndex -lt $ds.Tables.Count;$DsIndex++)
{
$Table = $ds.tables[$Dsindex]
if($Dsindex -ne 0)
{
$workbook.worksheets.Add() | Out-Null #Erstellt neues Arbeitsblatt
}
$Table | Export-Csv "$workdirectory\input.csv" -Encoding …Run Code Online (Sandbox Code Playgroud) 这是我存储在名为 dt 的数据表变量中的数据表:
Dim dt As New DataTable
+---------+--------+---------------+
| Carrier | AVGTAT | Name |
+---------+--------+---------------+
| ABCD | 2078 | Term Check |
| ABCD | 0 | AdHoc |
| ABCD | 26406 | Cash on Term |
| REWS | 7358 | Failed Bill |
| ZELT | 11585 | BL150 |
Run Code Online (Sandbox Code Playgroud)
我需要使用基于 LINQ to DataTable 的 AVGTAT 列的值,其中 Carrier =“x”且 Name =“X”
我怎样才能做到这一点?
谢谢你!
更新:添加了一个新列,将日期和时间列(字符串字段)合并到 DateTimeCombined 列(日期时间字段)中
因此,LINQ 应该做的是按名称列进行分组,并获取具有最早日期+时间的每个名称的行。然后它应该添加该行的其余部分作为名称。
数据表初始化:
dataT = new DataTable();
dataT.Columns.Add("Date", typeof(string));
dataT.Columns.Add("Time", typeof(string));
dataT.Columns.Add("Day", typeof(string));
dataT.Columns.Add("Name", typeof(string));
dataT.Columns.Add("Place", typeof(string));
dataT.Columns.Add("DateTimeCombined", typeof(DateTime));
dataT.Columns.Add("NameMessage", typeof(string));
Run Code Online (Sandbox Code Playgroud)
所以这是起始数据表(默认情况下检索):
Date Time Day Name Place DateTimeCombined NameMessage
6/29/2017 8:30AM MON John Orlance 6/29/2017 8:30:00 AM
6/29/2017 8:40AM MON John Orlance 6/29/2017 8:40:00 AM
6/29/2017 8:50AM MON John Orlance 6/29/2017 8:50:00 AM
6/29/2017 9:10AM MON John Orlance 6/29/2017 9:10:00 AM
6/29/2017 9:20AM MON John Orlance 6/29/2017 9:20:00 AM
6/29/2017 1:00PM MON John Orlance 6/29/2017 1:00:00 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用已经有一些列的数据表将项目添加到组合框,但我只想将其中一个值添加到组合框中。我正在做的是这样的:
cbReviewers.DataSource = Reviewers_table.Columns[1];
Run Code Online (Sandbox Code Playgroud)
但不起作用,你知道我该怎么做吗?
我有一个从数据帧创建的数据表,如下所示:
output$main_temp <- renderDataTable(df[,-1:-1], width = "auto")
Run Code Online (Sandbox Code Playgroud)
我想用带有或不带有值的颜色。有值的单元格为绿色,没有值的单元格为红色。
我试过 :
output$main_temp <- renderDataTable({
datatable(df[,-1:-1], options = list(
columnDefs = list(list(targets = 6, visible = FALSE))
)) %>% formatStyle(
names(df[,-1:-1]),
backgroundColor = styleEqual(c(0, 1), c('gray', 'yellow'))
)
})
Run Code Online (Sandbox Code Playgroud)
样本数据 :
所需输出:
我有以下数据:
\nlibrary(data.table)\nDT <- data.table(\n Pays = c("Austria", "Belgium", "Brazil", "Bulgaria", \n "Canada", "China", "Croatia", "Cyprus", "Czechia", "Denmark"), \n `Nouveaux cas` = c("212.2", "136.0", "143.5", "258.7", "122.8", \n "0.0", "615.0", "299.0", "327.7", "314.5"), \n `Nouveaux d\xc3\xa9c\xc3\xa8s` = c("53.8", "35.4", "14.9", "89.7", "14.2", "0.0", "79.0", "14.4", "47.3", "6.9"), \n `\xc3\x89volution du nombre de cas` = c("-21.5%", "2.8%", "5.6%", "-5.2%", "4.1%", "-0.9%", "5.5%", "34.3%", "36.7%", "73.8%"), \n `\xc3\x89volution du nombre de d\xc3\xa9c\xc3\xa8s` = c("-20.1%", "-20.4%", "10.5%", "-8.5%", "24.1%", "NaN%", "2.9%", "63.6%", "-5.4%", …Run Code Online (Sandbox Code Playgroud) 目前我有一个 pandas 数据框:
df = pd.DataFrame({
"date": ["20210613", "20210614", "20210615"],
"user": ["A\nB", "C", "D"],
"machine" : [1, 0, 3]
})
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何方法可以将此表打印到我的破折号应用程序中,如下所示:
无论使用纯文本打印到 dcc.Textarea 还是 dash_table.DataTable 都可以。
目前我还没有找到一个好的方法来实现这一点,非常感谢。
我有一个名为tblHello的表,我想把它重命名为Hello
我在数据集上使用select方法来检索符合我条件的结果:
foreach (DataRow dr in dsPone2.Tables["tt-pone"].Select(strWhereCondition))
{
dsPone.Tables["tt-pone"].ImportRow(dr);
}
Run Code Online (Sandbox Code Playgroud)
如何更改strWhereCondition
strWhereCondition += " AND poneid = 0 and aoneid = 0 and tranid = 0";
Run Code Online (Sandbox Code Playgroud)
到tranid不是0的地方?
我使用<>或!=?
如何根据重复的两列的值删除DataTable中的每个重复行.不幸的是,我无法找到等效的LINQ查询.(我甚至不想要不同的价值观).下表将解释我的问题
我想基于Column_A和Column_B删除重复的每一行
COLUMN_A COLUMN_B COLUMN_C COLUMN_D .....
A B
C D
E F
G H
A B
E F
预期产量:
COLUMN_A COLUMN_B COLUMN_C COLUMN_D .....
C D
G H
请帮忙
datatable ×10
c# ×5
linq ×2
r ×2
combobox ×1
database ×1
dataframe ×1
datasource ×1
duplicates ×1
excel ×1
heatmap ×1
plotly ×1
plotly-dash ×1
powershell ×1
python-3.x ×1
shiny ×1
table-rename ×1
vb.net ×1