我有一个大的CSV文件(1GB),我想从中删除逗号.数据都是正整数.我尝试过的方法包括带空格作为分隔符的dlmwrite,但输出则以十进制格式输出.我也尝试使用fprintf命令,但后来我失去了矩阵的形状(即所有数据都出现在一行或一列中).
从而,
是否有一种从CSV(input.txt)读入的简单方法:
1, 2, 3, 4, 5
2, 3, 4, 5, 6
Run Code Online (Sandbox Code Playgroud)
然后以下列形式输出到文本文件(output.txt):
1 2 3 4 5
2 3 4 5 6
Run Code Online (Sandbox Code Playgroud) 我试图找到一个正则表达式,以逗号分隔一个基于南亚编号系统的大数字.
几个例子:
1,000,000
(阿拉伯语)是10,00,000
(印度/印度教/南亚)1,000,000,000
(阿拉伯语)是100,00,00,000
(印度/ H/SA).每7个数字重复逗号模式.例如,
1,00,00,000,00,00,000
.
从Friedl的Mastering Regular Expressions这本书中,我有以下阿拉伯语编号系统的正则表达式:
r'(?<=\d)(?=(\d{3})+(?!\d))'
Run Code Online (Sandbox Code Playgroud)
对于印度编号系统,我提出了以下表达式,但它不适用于超过8位的数字:
r'(?<=\d)(?=(((\d{2}){0,2}\d{3})(?=\b)))'
Run Code Online (Sandbox Code Playgroud)
使用上面的模式,我明白了100000000,00,00,000
.
我正在使用Python re
模块(re.sub()
).有任何想法吗?
我正在尝试使用JunitParams来参数化我的测试.但我的主要问题是参数是带有特殊字符,波形符或管道的字符串.
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import junitparams.JUnitParamsRunner;
import junitparams.Parameters;
@RunWith(JUnitParamsRunner.class)
public class TheClassTest {
@Rule
public ExpectedException exception = ExpectedException.none();
@Test
@Parameters({"AA~BBB"})
public void shouldTestThemethod(String value) throws Exception {
exception.expect(TheException.class);
TheClass.theMethod(value);
// Throw an exception if value like "A|B" or "A~B",
// ie if value contain a ~ or a |
}
}
Run Code Online (Sandbox Code Playgroud)
随着代字号,我没有问题.但是有了管道,我有一个例外:
java.lang.IllegalArgumentException: wrong number of arguments
Run Code Online (Sandbox Code Playgroud)
管道(以逗号形式)用作参数的分隔符.
我有什么方法可以设置不同的分隔符吗?或者这是JunitParams的限制?
我有一个简单的C代码和关于包含逗号(,)运算符的表达式的大混乱.
int main(){
int i=0,j=11,c;
c=i=j,++i;
printf("c=%d i=%d\n",c,i);
c=(i=j,++i);
printf("c=%d i=%d\n",c,i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码打印:
c=11 i=12
c=12 i=12
Run Code Online (Sandbox Code Playgroud)
我的问题是:
++
比更优先,
和=
,为什么评价为表达做了左逗号?我正在处理文本字符串,如下所示:
LN1 2DW, DN21 5BJ, DN21 5BL, ...
在Python中,我如何计算逗号之间的元素数量?每个元素可以由6个,7个或8个字符组成,在我的示例中,显示了3个元素.分隔符始终是逗号.
我从未做过任何与文本挖掘有关的事情,所以这对我来说是一个开始.
我有一些数字
7, 15, 6, 2, -9
我想在bash中对它进行排序(从命令行或脚本文件)
-9, 2, 6, 7, 15
我怎样才能做到这一点?我无法使用sort命令获取此信息.
在PHP项目中,我有:
$string = "1,555";
str_replace(',', '', $string);
echo $string; //is still 1,555
Run Code Online (Sandbox Code Playgroud)
str_replace不会删除逗号.如果我var_dump.我明白了string(5) "1,555"
有任何想法吗?我只是需要删除逗号,以便我可以计算.
我尝试使用以下代码使用瑞典语语言环境将字符串(-0,3)解析为java中的double:
String DoubleString = "-0,3"
NumberFormat swedishNumberFormat = NumberFormat.getInstance(new Locale("sv"));
System.out.println(swedishNumberFormat.parse(doubleString).doubleValue());
Run Code Online (Sandbox Code Playgroud)
当我尝试使用sv_SE
语言环境时,结果是-3.0,这显然是不正确的.然后,经过一段时间的头痛,将语言环境改为sv
(如上例所示),然后结果是正确的,-0,3.
根据http://www.localeplanet.com/java/sv/index.html和http://www.localeplanet.com/java/sv-SE/index.html,两种情况下的小数分隔符(Decimalavgränsare)都是逗号(,
)为什么这个区别?
(我尝试使用与瑞典相关的一些标签来标记这个,例如sv_SE,但我没有足够的声誉点来添加新标签.如果可以,请随意添加标签.)
我有一个 csv 文件,我正在使用 FileHelpers 进行解析,并且我遇到了引号和逗号都可以出现在字段中的情况:
逗号:
323,"PC","28/02/2014","UNI001","5000",0,"Return","Returned Goods, damaged",88.00,15.40,"T1","N",0.00,"R","-",
Run Code Online (Sandbox Code Playgroud)
引用
148,"SI","13/01/2014","CGS001","4000",1,"5","17" Monitor",266.00,45.39,"T1","Y",311.39,"R","-",
Run Code Online (Sandbox Code Playgroud)
我的班级是:
[DelimitedRecord(",")]
public class Transaction
{
public int TRAN_NUMBER;
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string TypeText;
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string DATE;
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string TransactionAccount;
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string NOMINAL_CODE;
public int DEPT_NUMBER;
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string INV_REF;
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string DETAILS;
public string NET_AMOUNT;
public string TAX_AMOUNT;
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string TaxCodeName;
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string PAID_FLAG;
public string AMOUNT_PAID;
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string VatReconText;
[FieldQuoted('"', QuoteMode.OptionalForBoth)] …
Run Code Online (Sandbox Code Playgroud) 我从之前的SO 中取得了一些进展,但遇到了一个新错误......
Internal error. Please refer to http://jb.gg/ide/critical-startup-errors
java.lang.ExceptionInInitializerError
at com.intellij.ide.IdeEventQueue.<clinit>(IdeEventQueue.java:80)
at com.intellij.idea.StartupUtil.replaceSystemEventQueue(StartupUtil.java:749)
at com.intellij.idea.StartupUtil.patchSystem(StartupUtil.java:733)
at com.intellij.idea.ApplicationLoader.executeInitAppInEdt(ApplicationLoader.kt:59)
at com.intellij.idea.ApplicationLoader.access$executeInitAppInEdt(ApplicationLoader.kt:1)
at com.intellij.idea.ApplicationLoader$initApplication$1$1.run(ApplicationLoader.kt:366)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.lang.Runnable java.awt.event.InvocationEvent.runnable accessible: module java.desktop does not "opens java.awt.event" to unnamed module @5fdea98c
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
at com.intellij.util.ReflectionUtil.findFieldInHierarchy(ReflectionUtil.java:153) …
Run Code Online (Sandbox Code Playgroud)