天道酬勤,学无止境

csv

如何从csv文件中获取特定行?(how to get specific rows from csv file?)

问题 我写了一个代码,其中我试图获取从"A"开始的所有行。 我的 csv 文件中有 A、A12 等,我想读取所有这些行。 但我收到以下错误。 不知道我哪里出错了。 请帮助。 CSV 文件 M,2,lion A,1,tiger B,2,cat A1,7,dog C,3,man A2,9,mouse A23,9,pouch 我的文件 #include <stdio.h> #include <stdlib.h> #define NUMLETTERS 100 typedef struct { char letter[100]; int number; char ani[100]; } record_t; int main(void) { FILE *fp; record_t records[NUMLETTERS]; size_t count = 0; fp = fopen("letters.csv", "r"); if (fp == NULL) { fprintf(stderr, "Error reading file\n"); return 1; } while (fscanf(fp, " %s,%d,%s", records[count].letter, &records[count].number, records[count].ani) == 3) { count++; } for

2021-12-05 09:28:25    分类:技术分享    c   arrays   string   csv   struct

导入单列 CSV 文件并将它们加入单个三列 CSV 文件 Powershell(Import Single Column CSV Files and join them into Single Three Column CSV File Powershell)

问题 我应该首先说我根本不是 PowerShell 专家,我可以拼凑东西,但仅此而已。 我有 3 个 .csv 文件,它们都包含 1 列信息。 我需要一个 PowerShell 脚本,它将组合来自各个 CSV 文件的每一列,并将它们组合成一个 3 列 CSV 文件。 IE CSV1 Red Green Blue CSV2 Monday Tuesday CSV3 Monkey Badger Tiger Giraffe 结合起来看起来像 CSV1 CSV2 CSV3 Red Monday Monkey Green Tuesday Badger Blue Tiger Giraffe 到目前为止,我已经创建了一个对象并添加了成员​​,但似乎每个成员只能有一个值。 $csv1 = Import-Csv "csv1.csv" $csv2 = Import-Csv "csv2.csv" $csv3 = Import-Csv "csv3.csv" $obj = New-Object PSObject $obj | Add-Member -MemberType NoteProperty -Name "Rule Block 1" -Value $csv1[2] $csv1[3] $obj | Add-Member -MemberType NoteProperty -Name "Rule Block 2

2021-12-05 08:05:02    分类:技术分享    powershell   csv

使用 PowerShell 连接对象两个不同的 csv 文件(Join-Object two different csv files using PowerShell)

问题 第一个 .csv 文件是基于客户端名称的每月备份大小(以 KB 为单位)。 第二个 .csv 文件是基于客户端名称的下一个每月备份大小(以 KB 为单位)。 它列出了 A 列中的所有客户端名称。 B 列具有客户端的相应策略名称和以 KB 为单位的最后一列备份大小(即 - 487402463)。 如果客户端大小之间的差异(1638838488 - 1238838488 = 0.37 TB )大于 0.10 TB ,则结果将以 TB 大小输出到 csv 文件,如下所示。 另外,一个客户端可能关联多个策略名称。 我的问题是:我也想添加一些东西。 下个月的备份大小可能会减少,例如 hostname15,Company_Policy_11。 此外,hostname55,Company_Policy_XXX 可能有不同的策略名称。 hostnameXX,Company_Policy_XXX,0 和 hostnameXX,Company_Policy_XXX,41806794 它可能是重复的客户端和策略名称。 如果这在 CSV2 中不存在,那么我想显示为负数(-0.14),如下所示。 或者也可能存在于 CSV2 hostnameZZ,Company_Policy_XXX 中。 最后只是它可能在 CSV2 中,例如 hostnameSS,Company_Policy_XXX。 我使用了

2021-12-05 07:40:48    分类:技术分享    powershell   csv   join   compare   export-to-csv

如何使用 CSV 文件(BAT 文件)中的 URL 列表正确进行循环(How to properly make a loop with a list of URLS from a CSV file (BAT file))

问题 我需要将 CSV 文件中的 URL 列表加载到 BAT 文件中,并使其转到这些 URL 中的每一个,然后关闭它并转到下一个。 我知道这是可能的,但我发现的其他线程太复杂了,我不知道我需要在哪里保存 CSV 文件。 这是我已经写的代码: start chrome https://www.google.co.in/ timeout 5 taskkill /f /im chrome.exe 我需要一个可以访问 500 个 URL 的代码。 你能举例说明我如何去代码中的每一个吗? (或者我如何进行循环,但我需要循环包含 5 秒的timeout ,然后在每个循环中执行taskkill 。 回答1 假设你的CSV看起来像这样(每行只有一个 URL,没有别的): www.google.com www.facebook.com www.stackoverflow.com 然后你只需要一个简单的for /f循环: @echo off for /f "delims=" %%a in (list.csv) do ( start chrome "https:\\%%a" timeout 5 taskkill /f /im chrome.exe )

2021-12-05 06:43:16    分类:技术分享    windows   csv   batch-file

Oracle Query:如何比较具有逗号分隔值的不同表的两列(Oracle Query: How to compare two column of different table having comma separated values)

问题 如何比较来自具有逗号分隔值的不同表中的两个prod_name列? 这些列以不同的顺序具有逗号分隔的值。 要查找匹配项,所有值都应与其他表prod_name列值匹配。 换句话说,这些值在列中可能以不同的顺序存在,只要所有逗号分隔的值都在两列中表示,这并不重要。 TABLE 1: PRODUCT_ID PROD_NAME ================================================ 1 O,G,E,H,R 2 P,D,H,P,N 3 C,D,A,D,P 4 E,D,A,D,P TABLE 2: PRODUCT_ID PROD_NAME ====================== 5 R,O,G,E H 6 P,D,H,N,P 7 C,D,A,D 8 C,D,A,P,D 预期结果: 1 matches with 5 2 matches with 6 3 matches with 8 回答1 您可以使用如下的TRANSLATE和TRIM函数来实现这一点。 SQL> with t1 as 2 (select 1 as product_id, 'O,G,E,H,R' as prod_name from dual union all 3 select 2, 'P,D,H,P,N' from dual union all 4 select 3, 'C,D

2021-12-05 06:41:23    分类:技术分享    sql   oracle   csv   plsql   split

从具有数百万条记录的大型 CSV 文件中删除不需要的不可打印字符 - 在 Python 3 或 2.7 中(Remove unwanted non-printable characters from large CSV files with millions of records -in Python 3 or 2.7)

问题 示例文件我收到以(逗号或 | 或 ^)分隔的大型 CSV 文件,其中包含数百万条记录。 一些字段具有不可打印的字符,如 CR|LF,它被翻译为字段结束。 这是在 windows10 中。 我需要编写 python 来遍历文件并删除字段中的 CR|LF。 但是,我无法删除所有内容,因为这样会合并行。 我已经在这里浏览了几篇关于如何删除不可打印的帖子。 我想写一个熊猫数据帧,然后检查每个字段的 CR|LF 并将其删除。 好像有点复杂。 如果你有一个快速的代码如何做到这一点,这将是很大的帮助。 提前致谢。 示例文件: record1, 111. texta, textb CR|LF record2, 111. teCR|LF xta, textb CR|LF record3, 111. texta, textb CR|LF 示例输出文件应该是: record1, 111. texta, textb CR|LF record2, 111. texta, textb CR|LF record3, 111. texta, textb CR|LF CR = 回车 = x0d LF = 换行 = x0a 回答1 编辑 - 9 月 18 日,星期三,23.46 UTC+2 笔记: record1|111. texta|textb|111CR|LF record2|111. teCR|LF

2021-12-05 06:18:56    分类:技术分享    python   pandas   csv   non-printing-characters

用引号拆分Java字符串[重复](Splitting Java string with quotation marks [duplicate])

问题 这个问题在这里已经有了答案: 10 年前关闭。 可能的重复: 您能否推荐一个用于读取(并可能写入)CSV 文件的 Java 库? 我需要在 Java 中拆分字符串。 分隔符是空格字符。 字符串可能包含成对的引号(里面有一些文本和空格) - 成对的引号内的整个主体应被视为单个标记。 例子: Input: token1 "token 2" token3 Output: array of 3 elements: token1 token 2 token3 怎么做? 谢谢! 回答1 分两次。 首先是引号,然后是空格。 回答2 假设其他解决方案对您不起作用,因为它们没有正确检测匹配的引号或忽略引用文本中的空格,请尝试以下操作: private void addTokens(String tokenString, List<String> result) { String[] tokens = tokenString.split("[\\r\\n\\t ]+"); for (String token : tokens) { result.add(token); } } List<String> result = new ArrayList<String>(); while (input.contains("\"")) { String prefixTokens = input

2021-12-05 05:19:09    分类:技术分享    java   csv

将许多 .txt 文件转换为 csv 并合并它们(Converting many .txt files into csv and combining them)

问题 我有很多 .txt 文件。 我想将一些以特定名称结尾的文件转换为 csv 并将它们合并为一个 csv。 ### Folder Name: text_files python_gramm.py aadd01.txt aaxx02.txt aaff03.txt hhdd01.txt attd02.txt auud03.txt . . 文本文件包含如下所示的数据列: 我只想将名称为 '___01.txt' 的.txt文件转换为 csv 格式并将它们合并我的代码 #### python_gramm.py import os import glob os.chdir('text_files/') extension = 'txt' all_filenames = [i for i in glob.glob('*01.{}'.format(extension))] #combine all files in the list combined_csv = pd.concat([pd.read_csv(f, delimiter='\t') for f in all_filenames ]) #export to csv combined_csv.to_csv( "combined_csv.csv", index=False, encoding='utf-8-sig') 上面的代码运行成功

2021-12-05 04:49:32    分类:技术分享    python   csv

在 C# 中创建一个 CSV 文件(Creating a CSV File in C#)

问题 我正在尝试创建一个 csv 文件,其中每个条目都是由用户输入的。 一旦输入了一组值,它就应该移动到下一组值。 但是我似乎无法做到这一点。 每次我运行程序时,它都会替换以前的值。 using System; using System.IO; using System.Collections.Generic; namespace FileAccess { class MainClass { public static void Main(string[] args) { string FName; string LName; string Dpt; string Grade; string NumberOfHours; string file_name = "EmployeeDetails.txt"; System.IO.StreamWriter objWriter; objWriter = new System.IO.StreamWriter(file_name); String[] ArrayDetails = new string[5]; Console.Write("Enter Emp First Name: "); FName=Console.ReadLine(); Console.Write("Enter Emp Last Name: "); LName =

2021-12-05 04:10:32    分类:技术分享    c#   csv

读取 csv 文件将其转换为 json 但它将其中的每一行作为空手道中的字符串(Reading csv file converts it to json but it takes every row in it as a string in karate)

问题 我能够读取 csv 文件并将其转换为 json def expectedResponse = read('classpath:somefile.csv') 假设我有如下的 csv 文件 name,age praveen,29 joseph,20 1.它将所有元素转换为字符串并作为json存储在变量中。 如何将数字保持为数字? 因为它会导致我稍后对实际响应进行匹配失败。 2.如何获取值 20. 就像通过指定 joseph 一样,我想获取年龄。 我得到了 jsonpath get expectedResponse $.[?(@.member == '<name>')].age 我从例子中得到这个名字。 所以我在运行时将它作为 joseph。 但我得到错误的原因:不等于 (Integer : JSONArray) 。 它不是单独返回年龄(整数值) 或者有什么更好的方法来获得它? 回答1 CSV 格式不包含任何类型信息,所以一切都默认为“字符串”,你必须自己转换它。 但这很容易使用 karate.map()。 * text users = """ name,age praveen,29 joseph,20 """ * csv users = users * match users == [{ name: 'praveen', age: '29' }, { name: 'joseph'

2021-12-05 03:58:25    分类:技术分享    json   csv   karate