2017-10-16 7 views
-3

Javaを使用して独自のデータを使用してcsv形式で100万行のレコードを生成するにはどうすればよいですか。Javaを使用してランダムデータを使用して大きなcsvを生成する方法

+0

とJavaを使用するには、いずれかの特定の理由は? –

+3

何か試しましたか?おそらく、各行をループし、各行の各列をループし、 – phflack

+0

@kaliというデータを生成することをお勧めします。直面しているシナリオの詳細を記入してください。技術的な詳細とビジネスニーズの両方の詳細。あなたはより良い答えを得るでしょう。 –

答えて

0

これは、ジェネレータを構築する方法のアイデアを提供します。 ランダムデータは、Randomクラスを使用して生成し、生成する必要があるデータに適合させることができます。

public interface ICsvRandomRenerator{ 
    /* Adds the field definition to an array list that describes the csv */ 
    public void addFieldDefinition(FieldDefinition fieldDefinition); 

    /* Runs a loop for the number of records needed and for each one it 
    goes through the FieldDefinition ArrayList, generates the random 
    data based on field definition, and adds it to the curret 
    record. Last field changes to a new record*/ 

    public void generateFile(String fileName); 
}; 

public class FieldDefinition(){ 
    String fieldName; 
    String fieldType; //Alphabetic, Number, Date, etc.. 
    int length; 
    <getters and setters> 
} 

public abstract class CsvRandomGenerator implements ICsvRandomGenerator{ 
    ArrayList<FieldDefinition> fields = new ArrayList<>(); 

    <@Override interface classes to implement them >. 

    private String generateRandomAlpha(); 

    private String generateRandomDate(); 

    private String generateRandomNumber(); 

    ... 
} 
0

チェックアウトthis tutorial

MockNeat m = MockNeat.threadLocal(); 
final Path path = Paths.get("./test.csv"); 

m.fmt("#{id},#{first},#{last},#{email},#{salary}") 
.param("id", m.longSeq()) 
.param("first", m.names().first()) 
.param("last", m.names().last()) 
.param("email", m.emails()) 
.param("salary", m.money().locale(GERMANY).range(2000, 5000)) 
.list(1000) 
.consume(list -> { 
      try { Files.write(path, list, CREATE, WRITE); } 
      catch (IOException e) { e.printStackTrace(); } 
}); 

、可能な結果は次のとおりです:

コードは非常に単純なことができ

0,Ailene,Greener,[email protected],4.995,59 € 
1,Yung,Skovira,[email protected],2.850,23 € 
2,Shanelle,Hevia,[email protected],2.980,19 € 
3,Venice,Lepe,[email protected],4.611,83 € 
4,Mi,Repko,[email protected],3.811,38 € 
5,Leonie,Slomski,[email protected],4.584,28 € 
6,Elisabeth,Blasl,[email protected],2.839,69 € 
7,Ernestine,Syphard,[email protected],3.471,93 € 
8,Honey,Winfrey,[email protected],4.276,56 € 
9,Dian,Holecek,[email protected],3.643,66 € 
10,Mitchell,Lawer,[email protected],3.260,92 € 
11,Kayla,Labbee,[email protected],2.504,99 € 
12,Jann,Grafenstein,[email protected],4.535,70 € 
13,Shaunna,Uknown,[email protected],3.028,81 € 
... 
関連する問題