-3
Javaを使用して独自のデータを使用してcsv形式で100万行のレコードを生成するにはどうすればよいですか。Javaを使用してランダムデータを使用して大きなcsvを生成する方法
Javaを使用して独自のデータを使用してcsv形式で100万行のレコードを生成するにはどうすればよいですか。Javaを使用してランダムデータを使用して大きなcsvを生成する方法
これは、ジェネレータを構築する方法のアイデアを提供します。 ランダムデータは、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();
...
}
チェックアウト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 €
...
とJavaを使用するには、いずれかの特定の理由は? –
何か試しましたか?おそらく、各行をループし、各行の各列をループし、 – phflack
@kaliというデータを生成することをお勧めします。直面しているシナリオの詳細を記入してください。技術的な詳細とビジネスニーズの両方の詳細。あなたはより良い答えを得るでしょう。 –