在问这个问题之前我进行了很多搜索和尝试。但我尝试的所有代码都不起作用。我希望该文件存储在该download文件夹中,并且在用户卸载该应用程序时也可以访问该文件。我也尝试过使用opencsv库。您能否提供一种tested创建csv或txt文件并将其存储到download文件夹的方法?
csv android opencsv android-download-manager android-storage
也许我不理解OpenCSV中的captureHeader()方法是什么,但该方法抓取CSV文件的头并将受保护的'header'变量设置为这些值的String数组.
但是那么如何访问这些标题值以尝试匹配从csv中的"first_name"到Bean中的"firstName"?想法是在实际解析完整的csv文件之前从这些头创建MappingStrategy.但是captureHeader()是一个空格而且'header'受到保护?
我刚开始使用Java并且有很多缺少的知识,但我需要编写一个简单的类,它将使用openCSV将csv文件转换为JavaBean.我在这里找到了类似排队的一些答案,但没有人能够帮助我.到目前为止,已经有了这样的代码:
ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy();
strat.setType(YourOrderBean.class);
String[] columns = new String[] {"name", "orderNumber", "id"}; // the fields to bind do in your JavaBean
strat.setColumnMapping(columns);
CsvToBean csv = new CsvToBean();
List list = csv.parse(strat, yourReader);
Run Code Online (Sandbox Code Playgroud)
它位于openCSV常见问题解答网站上,另外还有一个问题.问题是我无法找到规范对象ColumnPositionMappingStrategy应该是什么样子以及应该在strat.setType语句(YourOrder Bean.class)中传递的内容.setColumnMapping方法对我来说也是不行的,但我相信当我知道其余的时候,我可以自己想出一个...
有人会更友好地解释这些代码吗?openCSV文档对我来说非常简短,因为我缺乏一些基本的Java知识(来自PHP,它有很大的不同)
提前致谢!
我正在尝试在jTable中加载.csv文件。在记事本中,该文件显示为OK,但是在jTable中,某些字符(如“£”,“ $”)变为一个框。
private void parseUsingOpenCSV(String filename){
DefaultTableModel model = (DefaultTableModel) empTbl.getModel();
int rows = model.getRowCount();
if (rows>0){
for(int i=0 ; i<rows; i++)
{model.removeRow(0);}
}
try {
CSVReader reader = new CSVReader(new FileReader(filename));
String [] nextLine;
int rowNumber = 0;
while ((nextLine = reader.readNext()) != null) {
rowNumber++;
model.addRow(new Object[]{nextLine[0], nextLine[1], nextLine[2], nextLine[3], nextLine[4], nextLine[5], nextLine[6], nextLine[7]});
}
} catch (IOException e) {
System.out.println(e);
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题 ?
我正在尝试使用 opencsv 库将 SQL 结果集导出到逗号分隔的 csv 文件。但是,当我将结果集传递给 writeAll 函数时,除了它生成的文件没有用新行分隔行并在记事本中打开时创建几乎不可读的文件外,一切都运行良好。尽管创建的文件是有效的,并且在导入到 excel 时可以很好地分隔。但是,我需要此代码生成的文件在使用简单的文本编辑器打开时可读。有什么建议?
我的 CSV 文件句柄如下所示:
CSVWriter wt = new CSVWriter(new FileWriter("file"), ',',
CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.NO_ESCAPE_CHARACTER, "\n");
Run Code Online (Sandbox Code Playgroud) 我正在使用 opencsv 3.0 版本。出于某种原因,它没有将记录写入 CSV 文件。它在 2.3 版上运行良好。但是,我想使用 CSVIterator 类。任何帮助表示赞赏。
public void writeGradesIntoFile(GradeReport gradeReport,String outputFileName)
{
File outputCSVFile = null;
CSVWriter csvFileWriter = null;
String[] lastRecord = null;
try {
outputCSVFile = new File(outputFileName + ".csv");
csvFileWriter = new CSVWriter(new FileWriter(outputCSVFile, true),
',', CSVWriter.NO_QUOTE_CHARACTER);
if (checkFileExistsAndEmpty(outputCSVFile)) {
String[] firstRecord = new String[] { gradeReport.getEmpId(),
Integer.toString(gradeReport.getScore()) };
csvFileWriter.writeNext(firstRecord);
}
} catch (IOException ioEx) {
ioEx.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
这是pom条目
<dependency>
<groupId>net.sf.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>3.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud) 我正在使用Opencsv库编写一个 CSV 文件,需要向我的文件添加标题。创建文件并插入标题,但所有标题都在同一个单元格中。
csvFile.createNewFile();
CSVWriter csvWrite = new CSVWriter(new FileWriter(csvFile));
String heading = "eid,name,vid,emp_id,balance_amt,handover_to,entry_date \n";
csvWrite.writeNext(new String[]{heading});
Run Code Online (Sandbox Code Playgroud) 我正在使用opencsv创建CsvToBean这样的:
CsvToBean<AccountBean> csvToBean = new CsvToBeanBuilder<AccountBean>(new InputStreamReader(inputStream))
.withFieldAsNull(CSVReaderNullFieldIndicator.NEITHER)
.withType(AccountBean.class)
.build();
Run Code Online (Sandbox Code Playgroud)
这是我的AccountBean:
public class AccountBean extends BeanBase<Account>
{
@CsvBindByName(column = "Id", required = true)
public String salesforceId;
@CsvBindByName(column = "OwnerId", required = true)
public String ownerId;
@CsvBindByName(column = "Name", required = true)
public String name;
// billing address
@CsvBindByName(column = "BillingStreet")
String billingStreet;
@CsvBindByName(column = "BillingCity")
String billingCity;
@CsvBindByName(column = "BillingState")
String billingState;
@CsvBindByName(column = "BillingPostalCode")
String billingPostcode;
@CsvBindByName(column = "BillingCountry")
String billingCountry;
}
Run Code Online (Sandbox Code Playgroud)
问题在于地址字段 …
我试图简单地将.csv导入Python.我读过很多文件但是对于我的生活,我无法弄清楚如何做到以下几点.
CSV格式如下
NYC,22,55
BOSTON,39,22
Run Code Online (Sandbox Code Playgroud)
我正在尝试生成以下内容:{NYC = [22,55],BOSTON = [39,22]}以便我可以在每个变量的循环中调用i [0]和i [1].
我试过了
import csv
input_file = csv.DictReader(open("C:\Python\Sandbox\longlat.csv"))
for row in input_file:
print(row)
Run Code Online (Sandbox Code Playgroud)
这打印我的变量,但我不知道在城市名称中嵌套两个数值并生成我希望得到的列表.
谢谢你的帮助,抱歉我的菜鸟问题 -
我有下面的代码块,它使用OpenCSV读取CSV文件并存储第7列.我面临的问题是我;在CSV文件中用作分隔符,但它也,用作分隔符.我怎么能避免这个?
由于我们从客户端获取了不可编辑的文件,因此无法将""置于CSV中.
CSVReader reader = null;
String[] nextCsvLine = new String[50];
String splitBy = ";";
int count = 0;
try {
StringReader sr = new StringReader(new String(in, offset, len));
reader = new CSVReader(sr);
while ((nextCsvLine = reader.readNext()) != null) {
for (String linewithsemicolon : nextCsvLine) {
log.debug("Line read : "+linewithsemicolon);
String[] b = linewithsemicolon.split(splitBy);
if (count==0){
count++;
continue;
}
else {
detailItems.add(b[7]);
log.debug("7th position: "+b[7]);
count++;
}
}
Run Code Online (Sandbox Code Playgroud) opencsv ×10
java ×8
csv ×4
android ×2
dataformat ×1
dictionary ×1
jtable ×1
list ×1
python ×1
swing ×1