Comments (5)
Ok as per the documentation there are several ways to instantiate the object I think you've just combined many of them. The problem may be related to that. I would suggest, simplify your code like below:
$filepath = '/path/to/my/csv/file.csv';
$csv = League\Csv\Writer::createFromPath($filepath, 'w');
$csv->insertAll($csv_data);
Nothing more... it will work and the empty line should disappear. You do not need to use fopen
first. by using the w
open mode the library will try to open or create the file if it does not succeed a RuntimeException
will be thrown.
from csv.
Thanks for your response. I was trying something similar but the missing piece was the "w" in the second argument to create the file.
Anyway, it's still putting an empty line at the end of the CSV file.
Code is now:
$csv = League\Csv\Writer::createFromPath($filepath, "w");
$csv->insertAll($csv_data);
from csv.
The end line is put because of SplFileObject::fputcsv as per documentation:
fputcsv() formats a line (passed as a fields array) as CSV and write it (terminated by a newline) to the specified file handle.
from csv.
Is it worth doing a PR to have an option which doesn't include the newline?
from csv.
No need to PR this, there's a quick workaround for that:
function outputWithoutEndingEOL(League\Csv\AbstractCSV $csv)
{
return rtrim($csv->newReader());
}
from csv.
Related Issues (20)
- Prevent character encoding HOT 2
- PHPStan errors with versions 9.9 and 9.10 HOT 2
- Add CSV column filtering and re-ordering during parsing
- Calls to rewind or fseek that fail are ignored silently HOT 5
- How to read from STDIN instead of a file HOT 2
- Is Writer::insertAll() faster than Writer::insertOne() or not? HOT 2
- how to read csv without BOM? HOT 4
- getRecords from PART of columns and random sort HOT 2
- getRecords with defined header produce wrong results HOT 1
- Add object mapping HOT 12
- Enable protection against long lines HOT 6
- Preformatting data before conversion HOT 3
- TabularDataReader::getRecords()->current() can return NULL HOT 3
- php version is locked to 8.1, it causes issues with php upgrade to 8.2 or greater HOT 1
- Parsing CSV with escape character before enclosure HOT 2
- Feature request: Trim parsed csv strings HOT 2
- Since 9.12.0 TabularDataReader::getRecords is stricter - exception is thrown with string keys for header HOT 10
- Enclosure not works properly HOT 2
- Is there a simple way to format xls into csv before write/read on it
- Why does calling getContent() seem to empty the iterator returned by the Reader HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from csv.