Tag: csv

从CSV读取数据并放入数据库

我有一个包含6列的表格,我有像这样的CSV导出,每行有6个条目 me;val1;val2;val3;val4;val5; me;val1;val2;val3;val4;val5; 我需要阅读这些条目并将其插入SQLITE3数据库中。以便解析我使用的CSV void readcsv() { FILE* stream = fopen(“input.csv”, “r”); char line[1024]; while (fgets(line, 1024, stream)) { char* tmp = strdup(line); printf(“Field 3 would be %s\n”, getcsvfield(tmp, 3)); // NOTE strtok clobbers tmp free(tmp); } } //Used for parsing CSV const char* getcsvfield(char* line, int num) { const char* tok; for (tok = […]

计算C中CSV文件的平均值

我正在编写一个代码,我在其中读取CSV文本文件,该文件在命令行中作为参数提供。 我必须计算给定文件的实验平均值: 例如,如果文件是 Bob’s experiment,12,33,55,8 Mary’s experiment,99,21,12,0 我必须打印鲍勃的实验(数字的平均值)玛丽的实验(数字的平均值) 这是我的代码: #include #include #include #include int main (int argc, char *argv[]){ FILE* ptr=fopen(argv[1], “rt”); int i=0; double sum=0; double count=0; double ave=0; if (ptr==NULL){ perror(“Error while opening file”); exit(EXIT_FAILURE); } while(!feof(ptr)){ char s=’a’; while(s!=’,’){ s=fgetc(ptr); printf(“%c”, s); } while((char) *ptr)!=’\n’){ fscanf(ptr, “%d”, &i); sum+=i; count++; } ave=sum/count; […]

将数据从csv文件读入struct,得到错误

我正在尝试将csv文件中的数据读入结构中。 该结构包含int,char和float成员。 我收到错误,除了char成员。 我对C很新,所以感谢你的帮助! 来自csv文件“订单”的数据: 0, cafe, 3.90, 0 0, espresso, 3.50, 0 … 我的结构: typedef struct { int position; char name[20]; float price; int counter; }drink; void init(drink *pt) { FILE *fp; char buf[50]; int i = 0, j; fp=fopen(“Order”, “r”); while( fgets(buf,sizeof(buf),fp) != NULL) { strcpy(pt[i].position, strtok(buf,”,”)); strcpy(pt[i].name, strtok(NULL,”,”)); strcpy(pt[i].price, strtok(NULL,”,”)); strcpy(pt[i].counter, strtok(NULL,”,”)); […]

这段代码适用于C ++,任何想法如何将此代码转换为C,因为在C语法上有很大的不同

我有一个文件名file.csv,其中有三列和两行。 我已编码读取数据并存储在C ++中的多维数组中。 // reading csv file and storing values in matrix r const int rows = 10; const int cols = 3; ifstream file(“file.csv”); if (file.is_open()) { float r[rows][cols]; for (int p = 0; p < rows; ++p) { // Reading Data from File for (int q = 0; q > r[p][q]; file.get(); // […]

用于unicode的C CSV API

我需要一个C API来处理可以使用unicode的CSV数据。 我知道libcs​​v(sourceforge.net/projects/libcs​​v),但我认为这不适用于unicode(请纠正我,如果我错了)因为没有看到使用wchar_t。 请指教。

C中的fscanf csv未分配值

我试图创建一个文件来读取包含CSV的文本文件。 但是出于某种原因,一些Fscanfs不会返回值,但有些值会返回。 FILE* reader; char OptionOne[30]=””; char OptionTwo[30]=””; char OptionThree[30]=””; char OptionFour[30]=””; char answer[1]=””; char CorrectAnswer[1]; char Question[51]; reader = fopen(“C:\\Users\\Finley\\Desktop\\Programming\\QuizMachine\\QuizMachine\\fscanf_questions.txt”, “r”); if (reader == NULL) { printf(“Unable to Open File: %s\n”, FileName); } fscanf(reader, “%[^,],”, Question); fscanf(reader, “%[^,],”, OptionOne); fscanf(reader, “%[^,],”, OptionTwo); fscanf(reader, “%[^,],”, OptionThree); fscanf(reader, “%[^,],”, OptionFour); fscanf(reader, “%[^,],”, answer); 为什么第一个fscanf返回一个值,但所有其他值都没有返回值。 我看不到任何东西,它们看起来都是一样的同样的格式文件格式是这样的: 你用什么函数打开文件?,fscanf,fclose,fopen,main,3 […]

C将存档的行转换为数组

我有一个存档,我想把每一行变成一个数组:v [i] .data。 但是,当我运行代码时,它会为数组显示零。 有什么我应该改变的吗? 输入 1760 2月20日/ 18,11403.7 2月19日/ 18,11225.3 2月18日/ 18,10551.8 2月17日/ 18,11112.7 2月16日/ 18,10233.9 实际产出 1761 0 预期产出 1761 2月20日/ 18,11403.7 #include #include #include #include typedef struct{ char data[20]; }vetor; int main(int argc,char *argv[]){ FILE *csv; if((csv=fopen(argv[1], “r”)) == NULL ) { printf(“not found csv\n”); exit(1); } long int a=0; char linha[256]; […]

使用C编程直接在.csv文件中访问单元格

大家好! 有没有办法用C直接访问.csv文件格式的单元格? 例如,我想用C总结一列,我该怎么做?

在C中搜索.csv文件以进行名称匹配

我目前有一个包含三个字段的.csv文件:user,password,type。 例如,我的文件看起来像这样: michael, sun123, user joseph, sierra7, user isaac, apple2, sysop 我想从这样的文件中读取并检查列表中是否存在用户“isaac”。 到目前为止,我能够打开文件并将我文件的每个字符放入名为database []的一维数组中。 我已经设置了一个指向我的database []数组的第一个字符的指针。 我的问题是:如何在文件中找到“isaac”? 我的想法是检查我要查找的用户的第一个字符是否与我的数组中的字符匹配。 如果是这样,只要我没有逗号,我就会开始检查下一个字符。 当我点击逗号时,然后检查是否在使用布尔值返回回车之前退出密码,逗号和类型。 有更简单的方法吗? 提前致谢!

将CSV元素导入C中的2D数组

我是C的新手。我一直在尝试将csv文件中的整数元素导入C中的数组。当我必须导入行和列较少的CSV文件时,代码工作正常; 例如,我已经尝试使用包含90行和80列的CSV文件。 但是,当CSV具有更多行/列数时,问题就开始了。 具体来说,我正在尝试导入包含238行和320列的CSV文件。 但是程序终止显示“导致该程序停止工作的问题”。 我在代码中提到程序出错了。 请帮帮我,因为我无法知道这个问题背后的原因。 我在其他地方搜索过,但没有找到特定于C的答案。另外,Stackoverflow上有一个类似的问题:(因为,它是针对一维数组,我的方法有所不同,我决定在这里问一个新问题。) CSV到C中的数组 以下是CSV文件的具体链接: https : //drive.google.com/file/d/0BxnaWIgBd3AjbGVrY1FTdFpxemM/edit?usp=sharing 这是我的代码: #include #include #define ARRAYSIZE(x) (sizeof(x)/sizeof(*(x))) int main(void) { const char filename[] = “1.csv”; /* * Open the file. */ FILE *file = fopen(filename, “r”); if ( file ) { int array[320][238]; size_t i, j, k; char buffer[BUFSIZ], *ptr; /* * Read […]