public void setup(){
String[] rows = loadStrings("data/LifeExpectancyWorldBank.csv");
lifeExpByCountry = lifeExpByCountryFromCSV(rows);
countries = GeoJSONReader.loadData(this, "data/countries.geo.json");
countryMarkers = MapUtils.createSimpleMarkers(countries);
size(800,600,OPENGL);
map = new UnfoldingMap(this,50,50,700,500, new Google.GoogleMapProvider());
MapUtils.createDefaultEventDispatcher(this,map);
map.addMarkers(countryMarkers);
shadeCountries();
}
我在setup()中给出了loadstrings方法。但仍然得到文件丢失错误。我正在运行OS X.
答案 0 :(得分:0)
而不是loadStrings("data/LifeExpectancyWorldBank.csv")
,请在没有loadStrings("LifeExpectancyWorldBank.csv")
部分的情况下尝试data
。
阅读the Processing reference,它表示文件是自动从data
目录加载的,因此您不必指定data
部分。使用您的代码,它正在寻找不存在的data/data/LifeExpectancyWorldBank.csv
。
如果这不起作用或将来调试,请转到菜单Sketch
> Show Sketch Folder
。它应该包含一个数据目录,并且应该包含您尝试加载的文件。确保文件存在,具有正确的权限,并且所有内容拼写正确。
答案 1 :(得分:0)
检查LifeExpectancy.java文件所在的路径,您将在src文件夹中找到它。所以正确的道路将是 countries = GeoJSONReader.loadData(this," ../ data / countries.geo.json");
还有更多的行以相同的方式指定路径,都需要更改。
希望这有帮助
答案 2 :(得分:0)
private Map<String, Float> lifeExpByCountryFromCSV(String[] rows){
Map<String, Float> lifeExpMap = new HashMap<String, Float>();
for(String row : rows){
String[] columns = row.split(",");
if(columns[5]!=null){
float value = Float.parseFloat(columns[5]);
lifeExpMap.put(columns[4], value);
}
}
return lifeExpMap;
答案 3 :(得分:0)
如果将文件路径设置为
lifeExpByCountry = loadLifeExpectancyFromCSV("LifeExpectancyWorldBank.csv");
countries = GeoJSONReader.loadData(this, "countries.geo.json");
并将函数loadLifeExpectancyFromCSV定义为
private Map<String, Float> loadLifeExpectancyFromCSV(String fileName) {
Map<String, Float> lifeExpMap = new HashMap<String, Float>();
String[] rows = loadStrings(fileName);
for (String row: rows) {
String[] columns = row.split(",");
try{
float value = Float.parseFloat(columns[5]);
lifeExpMap.put(columns[4], value);
}
catch(NumberFormatException e) {
System.out.println(columns[4] + " has missing data");
}
}
return lifeExpMap;
}
它应该工作。使用正确的文件路径后的剩余问题是处理csv文件中没有预期寿命数据的行。
答案 4 :(得分:0)
这是旧线程,请尝试
pcregrep --color '\b(?:100|[1-9]?\d)(?=%)' file.txt
这对我有用。