我有一个带有3列的.json,其中一列是'Year'.该列仅包含年份.没有约会!
当我在"x"轴上绘制图形时,年份会出现数千个逗号分隔符.
所以在.json中,日期是这样的格式:"年":1990年,在'x'轴上它的出现就像那样1,990
我一直试图弄清楚如何解析这一年,但到目前为止我没有运气.我尝试过以下方法:
var parseDate = d3.time.format("%y").parse
var x = d3.time.scale()
.range([0, width]);
//further down
d3.json("waterData.json", function(error, json) {
// Attach Data
var data = json.data;
// Select Data for X and Y
var axis1 = 'Year';
var axis2 = 'Ratio'
// Convert String into Numbers
data.forEach(function(d) {
///axis1 = parseDate(axis1);
d[axis1] = +d[axis1]
d[axis2] = +d[axis2]
});
x.domain(d3.extent(data, function(d) { return d[axis1]; }));
y.domain(d3.extent(data, function(d) { return d[axis2]; }));
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + (height+10) + …Run Code Online (Sandbox Code Playgroud) 我有如下数据:
A:B:C:D
我想替换Cwith数据(比方说Z),以便它看起来像
A:B:Z:D
我该怎么做?
我已经看到'\0'在混合二进制文件(UTF8字符串+二进制数据)中用作分隔符.任何人都可以解释什么'\0'意思或指向一个好学习的地方?
获得方法功能的最佳方法是什么StreamReader.ReadLine(),但使用自定义(字符串)分隔符?
我想做点什么:
String text;
while((text = myStreamReader.ReadUntil("my_delim")) != null)
{
Console.WriteLine(text);
}
Run Code Online (Sandbox Code Playgroud)
我尝试我自己的使用,使Peek()和StringBuilder,但它的效率太低.我正在寻找建议或可能是一个开源解决方案.
谢谢.
编辑
我之前应该澄清一下......我已经看到了这个答案,但是,我不想将整个文件读入内存.
我有一个非标准化的表,其中一列包含逗号分隔列表,该列表是另一个表的外键:
+----------+-------------+ +--------------+-------+
| part_id | material | | material_id | name |
+----------+-------------+ +--------------+-------+
| 339 | 1.2mm;1.6mm | | 1 | 1.2mm |
| 970 | 1.6mm | | 2 | 1.6mm |
+----------+-------------+ +--------------+-------+
Run Code Online (Sandbox Code Playgroud)
我想将这些数据读入一个不提供过程语言的搜索引擎.
那么,有没有一种方法,要么做一个加入此列或运行该数据插入相应的条目到一个新表的查询?结果数据应如下所示:
+---------+-------------+
| part_id | material_id |
+---------+-------------+
| 339 | 1 |
| 339 | 2 |
| 970 | 2 |
+---------+-------------+
Run Code Online (Sandbox Code Playgroud)
如果DBMS支持函数返回一个表但MySQL显然没有,我可以想到一个解决方案.
我有一个bash脚本,可以从用户那里收到一组文件.这些文件有时位于名称中带有空格的目录下.不幸的是,与此问题不同,所有文件名都通过命令行界面传递.让我们假设路径在用户传入时正确引用,因此空格(保存为引用空格)是路径之间的分隔符.如何以保留引用空格的方式将这些参数转发到我的bash脚本中的子例程?
MySQL有一个很好的CSV导入功能LOAD DATA INFILE.
我有一个大型数据集,需要定期从CSV导入,所以这个功能正是我需要的.我有一个可以完美导入数据的工作脚本.
.....除了......我事先并不知道终端终结器是什么.
我的SQL代码目前看起来像这样:
LOAD DATA INFILE '{fileName}'
INTO TABLE {importTable}
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
( {fieldList} );
Run Code Online (Sandbox Code Playgroud)
这适用于某些导入文件.
但是,导入数据来自多个来源.其中一些有\n终结者; 其他人有\r\n.我无法预测我将拥有哪一个.
有没有使用的方式LOAD DATA INFILE来指定,我行可与任一被终止\n或\r\n?我该如何处理?
我正在使用扫描仪来获取输入,并希望将其拆分为块.我希望它使用全字分隔符将其拆分.所以现在我有:
Scanner scanner = new Scanner("1 imported bottle of perfume at 27.99");
scanner.useDelimiter("\\sdelimitOne\\s");
Run Code Online (Sandbox Code Playgroud)
所以用输入"word word delimitOne word word delimitTwo word word"得到输出:
word word
word word delimitTwo word word
Run Code Online (Sandbox Code Playgroud)
我希望
scanner.useDelimiter("\\sdelimitOne\\s\\sdelimitTwo\\s");
Run Code Online (Sandbox Code Playgroud)
可能会奏效,但不是.
我如何实现以下输出:
word word
word word
word word
Run Code Online (Sandbox Code Playgroud)
?
我需要能够划分二进制数据流.我正在考虑使用像ASCII EOT(传输结束)字符这样的东西.
但是我有点担心 - 我怎么能确定用于此(0b00000100)的特定二进制序列不会出现在我自己的二进制序列中,从而在分界上给出误报?
换句话说,如何最好地处理二进制分隔?
编辑:...不使用长度标题.对不起,伙计们,之前应该提到这个.
我有一个包含这种类型的行的文件:
"Andorra la Vella | ad | Andorra la Vella | 20430 | 42.51 | 1.51"
我基本上只想要一个包含|之间的条目的字符串数组 分隔符:
["Andorra la Vella","ad","Andorra la Vella","20430","42.51","1.51"]
这可以用正则表达式完成吗?
delimiter ×10
parsing ×3
binary ×2
java ×2
mysql ×2
arrays ×1
bash ×1
binary-data ×1
binaryfiles ×1
c# ×1
comma ×1
csv ×1
d3.js ×1
end-of-line ×1
excel ×1
extract ×1
file-io ×1
filepath ×1
formula ×1
networking ×1
replace ×1
sql ×1
streamreader ×1
string ×1
time ×1
whitespace ×1