Sorting CSV Data Into Rows That Contains Duplicates In Columns
Apr 30, 2015
How to sort data from a .csv file. The file has a column that contains duplicate groups, and a column that has duplicate employee id's. I need to take the data and sort it into rows. The employee's id will be in the first column, then the groups the employees belong in will occupy the following columns. The groups and employees are dynamic.
groups| empId
-----------------
Group A| a1234 |
Group A| e3456 |
Group A| w3452 |
Group A| d3456 |
Group A| j7689 |
[Code] ....
I want to format the .csv as follows:
--------------------------
empId | group 1 | group 2 |
--------------------------
a1234 | group A | group B |
---------------------------
w3452 | group A | group B |
---------------------------
I have a 5x5 array of which I read from an external file and I am supposed to print out the original matrix and then add up each row and column, proceeding to store them into the sixth positions in my matrix. After that I print out the new matrix.
I am confused as to how to isolate rows and print them out. I know how to add the entire matrix up but isolation is my issue.
Here is what I have including how to read the matrix and the sum of the whole thing
import java.io.*; import java.util.*; public class prog470cAddingRandC { public static void main (String [] args) { //read the file Scanner inFile=null;
I need to write a class,that will give me output like this:
* *** **** *** *
I have to use for loop,i know that i have to use nested for loops, for rows and columns. I just cant figure it out the thing with spaces,and how to turn it to count back.
I am making rows and columns in the form of a multiplication table, listed below is my code:
package assignments; public class MultTable { public static void main (String [] args) { int row, column, x, y; for(row = 0; row < 8; row++)
[Code] .....
If you see my sample run you can see that I have the multiplication table down but, I haven't completed it. I have to make the bottom left half of the whole table blank somehow. For example, I have to make it halfway through the middle of the table the bottom left half full of white space...
5 6 7 8 9 12 14 16 18 21 24 27 32 36 90
hm, it's supposed to be the other way around horizontally.
I am continuing on in trying to build up the basics of matrix algebra from scratch.
I have created an object class called Matrix
import java.util.ArrayList; public class Matrix { public int NumRows; public int NumColumns;
// This array contains the entries of our matrix. ArrayList<Double> entry = new ArrayList<Double>();
[Code] ......
Bottom line: a matrix has a number of rows and a number of columns, and for each pair of row and column, we have a number in our matrix. The DisplayMatrix method prints my matrix to the screen, and the GetEntry method returns a particular value. This all works fine and dandy as far as I can tell.
A fundamental operation done to matrices to obtain a special matrix called the RREF is the process of switching 2 rows. Here is a method I have written that switches two rows of a matrix, and outputs the result as a new matrix. Note that I want the original matrix to be unchanged.
// Switch two rows public static Matrix SwapRows(Matrix A, int r1, int r2){ if(r1<1 || r1>A.NumRows || r2<1 || r2>A.NumRows) PRINTLN("illegally switching rows"); Matrix C = A; double dummy[] = new double[A.NumColumns];
[Code] ....
How I call this, inside a public static void main(String[] args), is as follows:
// Declares that A is a 2 by 2 matrix. Matrix A = new Matrix(2,2);
// We now add values in. The top left entry of A is 4, the top right entry of A is 1, the bottom left entry of A is 2, and the bottom right entry of A is 6.
double pony[]= new double[4]; pony[0]=4; pony[1]=1; pony[2]=2; pony[3]=6; A.AddEntries(pony);
// We can display the matrix in the output, and it looks exactly as expected!
A.DisplayMatrix();
// I am now going to create a new matrix called B. It is going to be obtained by flipping the first and second rows of A.
//Note that I want A is stay as I initialized it.
//I dont want A to have it's 2 rows switched. I want B to the matrix obtained by switching two rows of A.
Matrix B=SwapRows(A,1,2); B.DisplayMatrix();
// Displaying B gives me the desired result. However, if I now display A again, it is the same as B.
A.DisplayMatrix();
Why is my matrix A being modified? Of course, I am more than capable of providing more details/comments if requested. I suspect that this is a super silly mistake.
I am trying to write a code for multidimensional array, allocate memory for variables and access the value of the arrays. I want them to be shown as rows and columns. but my code only shows one column and no rows. here is my code:
public static void main(String[] args) { int[ ][ ] aryNumbers = new int[2][2]; aryNumbers [0][0] = 1; aryNumbers [0][1] = 2; aryNumbers [1][0] = 3; aryNumbers [1][1] = 4; int rows = 2; int columns = 2;
I have an application that displays a GUI and this GUI displays a table with several columns and rows. I have a class that extends DefaultTableModel. I wrote the code that displays the GUI. When the database table changes, how would I updated the GUI dynamically? Do you have any sample code that does that?
i'd been using Opencsv to upload all this data into my Db(Postgres) using EclipseLink with batch inserting, it wont take more than 5 secs to load 200k+ data cause all the columns are of type string so theres no format require, the problem comes when i need to give a special format to the data that is in this table (date, Integer, etc).
Right now how it works:
- Ill go row by row (when its required) verifying the format of the data and convert it with something like this Ex: Date date = Fechas.strToDate(data, Pattern) and fill the new Object with this info
what i'm planing to do
- With the function of EclipseLink OPERATOR im gonna use that to change all the rows of a column that requires a NUMBER format with OPERATOR('ToNumber',column1,'9999999999')
i cant do the same for Date cause ill get an error if the data doesn't have a Date like pattern
how to handle this Date formatting(from a query, or directly in java).
I wrote this code which print a black image depends on the number of rows and columns you give it
public class BlackImg { private Mycolor[][] colorArr; //Mycolor is a class i wrote that represents colors. // no need for showing the class here. // so i created here an array of type Mycolor, for example: // { {(255,255,255), {(127,127,0)} }
[Code] .....
my problem is that my output comes good except the last line ,
Output: (0,0,0) (0,0,0) (0,0,0) (0,0,0) (0,0,0) (0,0,0) (0,0,0) (0,0,0) (0,0,0) (0,0,0) (0,0,0) (0,0,0) BlackImg@1db9742 //what is this line , why does it showing up ?
I have to organize the rows from the lower to the higher number, the problem is, what I have only organizes the first 3 rows even If I insert 3,4,5...or 10 rows.
for (int i = arg[0].length - 1; i >= 0; i--) { for (int j = 0; j < i ; j++) { for (int k = 0; k < i ; k++) { if (arg[k][j] > arg[k][j + 1]) { int temp = arg[k][j];
I'm new in JSF, so maybe this is a very simple problem: My small application actually uses 'primefaces ' and I'd like to display the course of some laboratory values this way:
I am very new to Java Swing. I have to create a TreeTable in Java Swing with a Parent Row having say 6 columns and its all child row having just 4 columns. like shown below
I have a problem sorting this file alphabetically by second name. Basically, my method sorts each column alphabetically but i would like to sort the file according to the second name.
File: Moe Carl Saul Sergio Rocky Louis Ike Ziken
This is how my method sorts the file:
Ike Carl Moe Louis Rocky Sergio Saul ziken
Instead Moe Carl Rocky Louis Saul Sergio Ike Ziken
I'm trying to count the number of elements in an ArrayList which also have duplicates. So for example, in an ArrayList of strings which contains cat, cat, dog, horse, zebra, zebra, the answer should be two.
If an element is found to be a duplicate, that element should then be exempt from the search so if that element is found again it should not increase the duplicate count.
Here is my code:
public int countDuplicates() { int duplicates = 0; // TODO: Write the code to get the number of duplicates in the list for (int i = 0; i < list.size()-1;i++) { boolean found = false;
[Code] ....
I know it's wrong because right now it's still increasing the duplicate count for elements that have already been detected as duplicates. How can I make it stop doing this?
Write a method compressDuplicates that accepts a stack of integers as a parameter and that replaces each sequence of duplicates with a pair of values: a count of the number of duplicates, followed by the actual duplicated number. For example, suppose a variable called s stores the following sequence of values:
This new stack indicates that the original had 5 occurrences of 2 at the bottom of the stack followed by 2 occurrences of -5 followed by 4 occurrences of 3, and so on. This process works best when there are many duplicates in a row. For example, if the stack instead had stored:
bottom [10, 20, 10, 20, 20, 10] top
Then the resulting stack after the call ends up being longer than the original:
bottom [1, 10, 1, 20, 1, 10, 2, 20, 1, 10] top
If the stack is empty, your method should not change it. You may use one queue as auxiliary storage to solve this problem. You may not use any other auxiliary data structures to solve this problem, although you can have as many simple variables as you like. You may not use recursion to solve this problem. For full credit your code must run in O(n) time where n is the number of elements of the original stack.
I wrote a code but still having a problem with it , am I allowed to use 3 while loops ?
public void compressDuplicates(Stack<Integer> s ){ Stack<Integer> backup= new Stack<Integer>(); int count = 1; while(!s.isEmpty()){ int temp = s.pop();
I'm struggling with that piece of code, my intention is to check for the object I want to add before adding it, so there won't be any duplicate on my list. I'm not sure how could I do that, since I'm working with objects.
Person is a class with few parameters such as id, name, and few others.
I guess I should search for a person with the same id, since that has be unique, but can't get it right.
private ArrayList<person> model= new ArrayList<>(); //... if (model.contains(person))throw new IllegalArgumentException("duplicate"); else model.addElement(person);
It's supposed to count all of the duplicates in an array and print out how many occurrences of the value starting at whatever index, or if there are no duplicates state that. Basically:
No duplicates with value 1 beyond Index 0
There are 3 more occurrences of value 2 starting at index 1
There are 2 more occurrences of value 2 starting at index 2....
This is what I've got so far:
Java Code:
public static void main(String[] args) { int[] arr = {1, 2, 2, 3, 4, 2, 4, 3, 0, 5, 3, 2}; for(int i = 0; i<arr.length; i++){ int count = 0; for(int j = i+1; j<arr.length; j++){ if((arr[j] == arr[i]) && (i!=j)){ count++; System.out.print("There are " + count + " more occurrences of "); System.out.println(arr[i] + " starting at index " + i); } } } } mh_sh_highlight_all('java');
I am stuck on this exercise and I don't know what exactly is wrong. I think it's something with the .remove and the for each loop, but I am not sure.
public class seven { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("aaa"); list.add("brr"); list.add("unni");
[Code] ....
This is what i get
Exception in thread "main" java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) at java.util.ArrayList$Itr.next(Unknown Source) at seven.removeDuplicates(seven.java:24) at seven.main(seven.java:18)
In this array so many values are duplicates means 33 comes twice & 5 also comes twice & 9 comes three times. But I want to count the first value which is duplicate means 33 is first value which comes twice so answer would be 2.
I try:
public class FindFirstDuplicate { public static void main(String[] args) { int c=0; int[] a = {33,33,5,5,9,8,9,9}; outerloop: for(int i = 0; i < a.length; i++) {
I have a HashSet, which I created to prevent duplicates upon output, but of course it's printing duplicates(or else I wouldn't be posting this). The order of my output does not matter, nor the input. The data type is String in the format (x + "," + z), where x and z are integers, creating a collection of coordinate sets. So to prevent the output of duplicates, I'm trying to get rid of the duplicates before they are added to the collection.
I've tried doing a '.equals()' string comparison but what happens is, since my string is added via one variable, it compares itself to itself and if itself equals itself it won't be added to the collection. I really need to keep this as a comparison of a single variable, because creating a key for each value would be sooo ridiculous for this volume of inputs.
So, with that being said, I would like to add one copy of the string, discard the duplicates, and do this thousands of times..
I need to call the method to remove duplicates form my array, but it won't let me call the method, or I'm doing it incorrectly which is probably it.
import java.util.*; public class C_6_15_EliminateDuplicates { public static void main(String[] args) { int[] numbers = new int[10]; Scanner input = new Scanner(System.in); System.out.println("Enter " + numbers.length + " numbers: "); for (int i = 0; i < numbers.length; i++)